{ inputs, outputs, lib, config, pkgs, userName, fullName, email, hostName, desktop, gaming, ... }: { # Home Manager needs a bit of information about you and the paths it should # manage. # # nixpkgs.config.allowUnfree = true; # inputs.nixpkgs-stable.config.allowUnfree = true; home.username = userName; home.homeDirectory = "/home/${userName}"; programs.home-manager.enable = true; home.stateVersion = "23.11"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. fonts.fontconfig.enable = true; home.packages = with pkgs; [ bat inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl fd firefox foot fzf htop kakoune keepassxc libnotify mako networkmanagerapplet obs-studio signal-desktop # steam waybar wofi xfce.thunar # Install fonts (nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; }) overpass # # You can also create simple shell scripts directly inside your # # configuration. For example, this adds a command 'my-hello' to your # # environment: # (pkgs.writeShellScriptBin "my-hello" '' # echo "Hello, ${config.home.username}!" # '') ]; # TODO not working firefox plugins # extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ ublock-origin bitwarden ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file."${config.xdg.configHome}" = { # # 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; source = ../../dotfiles; recursive = true; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; }; # Home Manager can also manage your environment variables through # 'home.sessionVariables'. If you don't want to manage your shell through Home # Manager then you have to manually source 'hm-session-vars.sh' located at # either # # ~/.nix-profile/etc/profile.d/hm-session-vars.sh # # or # # /etc/profiles/per-user/nate/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { EDITOR = "kak"; }; wayland.windowManager.sway = { enable = true; # config = rec { # modifier = "Mod4"; # terminal = "foot"; # # startup = [ # # {command = "firefox";} # # ]; # }; }; # kdeconnect setup # services.kdeconnect = { # enable = true; # indicator = true; # }; # Git setup programs.git = { enable = true; userEmail = email; userName = fullName; }; # Zsh setup programs.zsh = { enable = true; #history = { # Size = 10000; #}; oh-my-zsh = { enable = true; plugins = [ "git" ]; theme = "half-life"; }; }; }