{ config, pkgs, ... }: { nixpkgs.config = { allowUnfree = true; allowUnfreePredicate = (_: true); }; # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "jas"; home.homeDirectory = "/home/jas"; home.stateVersion = "24.05"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ arp-scan bat diskonaut doggo dust emacs28 fblog fd gcc glances glow gum html-tidy hyfetch hyperfine just lsd lynx nmap nodejs nodePackages.js-beautify nodePackages.npm nodePackages.prettier parallel procs ripgrep rustscan starship stylelint tealdeer trash-cli vivid wget wl-clipboard wthrr zellij ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; ".justfile".source = dotfiles/just/.justfile; ".zshrc".source = dotfiles/zsh/.zshrc; ".zshrc.d".source = dotfiles/zsh/.zshrc.d; ".zpath".source = dotfiles/zsh/.zpath; ".zshenv".source = dotfiles/zsh/.zshenv; ".config/zellij".source = dotfiles/config/.config/zellij; ".config/starship.toml".source = dotfiles/config/.config/starship.toml; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; # git config programs.git = { enable = true; diff-so-fancy = { enable = true; pagerOpts = ["--tabs=4" "-RFX"]; }; userName = "Jeffrey Serio"; userEmail = "hyperreal@moonshadow.dev"; extraConfig = { core = { editor = "emacsclient"; }; init = { defaultBranch = "main"; }; pull = { rebase = true; }; }; }; # ssh config programs.ssh.enable = true; programs.ssh.matchBlocks = { "nixos.tail7dd4a.ts.net" = { hostname = "nixos.tail7dd4a.ts.net"; user = "jas"; identityFile = "~/.ssh/id_ed25519"; }; "aux-vm" = { hostname = "10.0.0.26"; user = "jas"; identityFile = "~/.ssh/id_ed25519"; }; "bttracker.nirn.quest" = { hostname = "bttracker.nirn.quest"; user = "jas"; identityFile = "~/.ssh/id_ed25519"; }; "hyperreal.coffee" = { hostname = "hyperreal.coffee"; user = "jas"; identityFile = "~/.ssh/id_ed25519"; }; "qbittorrent" = { hostname = "10.0.0.82"; user = "jas"; identityFile = "~/.ssh/id_ed25519"; }; "truenas" = { hostname = "10.0.0.81"; user = "admin"; identityFile = "~/.ssh/id_ed25519"; }; }; # direnv programs.direnv = { enable = true; enableZshIntegration = true; nix-direnv.enable = true; }; }