{ pkgs, ... }: { home.username = "matt"; home.homeDirectory = "/home/matt"; home.stateVersion = "23.11"; programs.home-manager.enable = true; programs = { fish.enable = false; mangohud.enable = true; java.enable = true; zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; shellAliases = { ll = "ls -alh"; update = "sudo nixos-rebuild switch --max-jobs 10"; update-flake = "sudo nix flake update ~/nix-config"; update-specialisation = "sudo nixos-rebuild switch --specialisation --max-jobs 10"; nas-update = "nixos-rebuild switch --use-remote-sudo --target-host admin@jallen-nas.local --build-host localhost --flake ~/nix-config#jallen-nas"; nas-ssh = "ssh admin@jallen-nas.local"; }; oh-my-zsh = { enable = true; plugins = [ "git" ]; theme = "fishy"; }; }; }; programs.git = { enable = true; userName = "mjallen18"; userEmail = "matt.l.jallen@gmail.com"; aliases = { co = "checkout"; ci = "commit"; cia = "commit --amend"; s = "status"; st = "status"; b = "branch"; # p = "pull --rebase"; pu = "push"; }; }; programs.command-not-found.enable = true; home.packages = with pkgs; [ # gamescope # using chaotic git version # gamescope-wsi # using chaotic git version age bottles chromium deadnix discord fastfetch firefox freerdp gamescope_git gamescope-wsi_git goverlay heroic home-manager jq libreoffice-qt6-fresh lm_sensors lutris mangohud morph nextcloud-client nixfmt-rfc-style orca-slicer papirus-icon-theme piper pop-gtk-theme protonup protontricks protonvpn-gui protonvpn-gui python3 python312Packages.tox python312Packages.setuptools python312Packages.pytest python312Packages.pytest-cov python312Packages.pyaml sops spotify ssh-to-pgp tree vesktop virt-manager vmware-horizon-client vorta vscode ]; specialisation.gnome.configuration = { dconf = { enable = true; settings = { "org/gnome/desktop/interface".clock-format = "12h"; "org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/interface".enable-hot-corners = false; "org/gnome/desktop/interface".font-antialiasing = "grayscale"; "org/gnome/desktop/interface".font-hinting = "slight"; "org/gnome/desktop/interface".icon-theme = "Papirus-Dark"; "org/gnome/desktop/peripherals/mouse".accel-profile = "flat"; "org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true; "org/gnome/desktop/peripherals/touchpad".tap-to-click = true; "org/gnome/mutter".experimental-features = [ "scale-monitor-framebuffer" "variable-refresh-rate" ]; "org/gnome/tweaks".show-extensions-notice = false; "org/gnome/shell".enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" "arcmenu@arcmenu.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "dash-to-panel@jderose9.github.com" "tiling-assistant@leleat-on-github" ]; "org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1; "org/gnome/shell/extensions/dash-to-panel".multi-monitors = false; "org/gtk/settings/file-chooser".clock-format = "12h"; }; }; }; specialisation.hyprland.configuration = { wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.settings = { "$mod" = "SUPER"; bind = [ "$mod, F, exec, firefox" ", Print, exec, grimblast copy area" ] ++ ( # workspaces # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} builtins.concatLists (builtins.genList ( x: let ws = let c = (x + 1) / 10; in builtins.toString (x + 1 - (c * 10)); in [ "$mod, ${ws}, workspace, ${toString (x + 1)}" "$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}" ] ) 10) ); }; }; }