{ config, pkgs, lib, system, user, allowed, secrets, ... }: { imports = [ ./home-modules/vscode.nix ./home-modules/discord.nix ./home-modules/meli/meli.nix # ./home-modules/mutt/neomutt.nix ./home-modules/gestures.nix ./home-modules/pnx/pnx.nix # ./home-modules/hsmw.nix ./home-modules/hyprland/hyprland.nix ./home-modules/hyprland/hyprland-autoname-workspaces.nix ./home-modules/shell/fish.nix ./home-modules/shell/starship.nix ./home-modules/shell/yazi.nix ./home-modules/shell/zoxide.nix ./home-modules/ssh.nix ./home-modules/git.nix ./home-modules/mako.nix ./home-modules/theme/gtk.nix ./home-modules/theme/qt.nix ]; home.username = "nx2"; home.homeDirectory = "/home/nx2"; home.stateVersion = "23.11"; nixpkgs.config = { allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed.unfree-packages; permittedInsecurePackages = allowed.inecure-packages; }; home.packages = with pkgs; [ firefox chromium chatterino2 gimp inkscape kitty zathura #vesktop thunderbird element-desktop zoom-us # vesktop discord signal-desktop obsidian spotify spicetify-cli obs-studio bitwarden waybar swww rofi wlogout imv mpv mediainfo exiftool ffmpeg pavucontrol fontpreview gtk2fontsel lynx bat du-dust eza neofetch tldr fzf figlet delta ripgrep lolcat jq brightnessctl wev element sssnake pipes nodejs speedtest-go (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.ipython python-pkgs.pipdeptree python-pkgs.requests ])) (writeShellScriptBin "nxrbs-nix" '' set -e pushd ~/.nix-dots/ git diff '') # only works on spec arch, chage url for others (stdenv.mkDerivation { name = "easycommit"; src = pkgs.fetchurl { url = "https://github.com/blackironj/easycommit/releases/download/v0.0.1/easycommit-v0.0.1-linux-amd64.tar.gz"; sha256 = "sha256-Ip5wfVe/RzCxGGh1YFBllAn84nD7mUXbnMko+ue/C2E="; }; phases = ["installPhase"]; installPhase = '' mkdir -p $out/bin tar xf $src -C $out/ ls -la $out mv $out/easycommit $out/bin/ chmod +x $out/bin/easycommit ''; }) ]; home.file = { }; # 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/nx2/etc/profile.d/hm-session-vars.sh # xdg = { enable = true; configHome = /home/${user}/.config; cacheHome = /home/${user}/.cache; dataHome = /home/${user}/.local/share; stateHome = /home/${user}/.local/state; mimeApps = { enable = true; defaultApplications = { "default-web-browser" = [ "firefox.desktop" ]; "text/html" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ]; "x-scheme-handler/about" = [ "firefox.desktop" ]; "x-scheme-handler/unknown" = [ "firefox.desktop" ]; "image/png" = "imv.desktop"; "image/gif" = "imv.desktop"; }; }; }; # Wayland, X, etc. support for session vars # systemd.user.sessionVariables = home.sessionVariables; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }