{ inputs, outputs, lib, config, pkgs, pkgs-unstable, ... } @ args: { imports = [ ../modules/git.nix ../modules/bat.nix ../modules/fish.nix ../modules/editor/helix.nix (import ../modules/editor/vscode.nix args) ../modules/btop.nix ../modules/term/foot.nix ../modules/firefox.nix ../modules/apps/thunderbird.nix #../modules/wm/hypr/hypridle.nix ../modules/wm/hypr/hyprlock.nix ../modules/kanshi.nix ../modules/ags ../modules/mako.nix ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.GetName pkg) [ "vscode-extension-ms-dotnettools-csharp" ]; home = { username = "me"; homeDirectory = "/home/me"; shellAliases = { brip = "batgrep"; # bat + ripgrep man = "batman"; # bat + man }; sessionVariables = { NIX_SHELL_PRESERVE_PROMPT = 1; }; pointerCursor = { gtk.enable = true; # x11.enable = true # dont enable since im on hyprland package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 16; }; packages = with pkgs; [ # for services.gnome-keyring pkgs.gcr # provides org.gnome.keyring.SystemPrompter seahorse # gui tor-browser ]; }; gtk = { enable = true; font.name = "Victor Mono SemiBold 12"; theme = { name = "Dracula"; package = pkgs.dracula-theme; }; iconTheme = { name = "kora"; package = pkgs.kora-icon-theme; }; # TODO: use a variable to mirror this cursor size # with the `home.pointerCurser.size` cursorTheme = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 16; }; }; qt = { enable = true; platformTheme.name = "gtk2"; style.name = "gtk2"; }; programs = { # these are both required for home-manager to work home-manager.enable = true; zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; history = { size = 10000; ignoreAllDups = true; path = "$HOME/.zsh_history"; ignorePatterns = [ "rm *" ]; }; }; # set ssh profiles # NOTE: (IMPORTANT) this DOES NOT start the ssh-agent # for that you need to use `services.ssh-agent.enable` ssh = { enable = true; forwardAgent = false; addKeysToAgent = "no"; matchBlocks = { hyrule = { hostname = "imbored.dev"; user = "ae"; port = 22; identityFile = "~/.ssh/id_hyrule"; setEnv = { TERM = "linux"; }; }; subspace = { hostname = "imbored.dev"; user = "subspace"; port = 22; identityFile = "~/.ssh/id_subspace"; }; dead = { hostname = "deadlyserver.com"; user = "emile"; port = 29843; identityFile = "~/.ssh/id_deadlyserver"; setEnv = { TERM = "xterm-256color"; }; }; youcue = { hostname = "moss.labs.eait.uq.edu.au"; user = "s4740056"; port = 22; identityFile = "~/.ssh/id_youcue"; setEnv = { TERM = "xterm-256color"; }; }; }; }; }; services = { # enable OpenSSH private key agent ssh-agent.enable = true; gnome-keyring.enable = true; }; # the ssh-agent won't set this for itself... systemd.user.sessionVariables.SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent"; # Nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; home.stateVersion = "24.05"; # don't change this }