{ config, pkgs, pkgs-unstable, username, ... }: { # TODO please change the username & home directory to your own home.username = "${username}"; home.homeDirectory = "/home/${username}"; 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) ); }; # Packages that should be installed to the user profile. home.packages = with pkgs; [ kitty eza pkgs-unstable.obsidian jq pkgs-unstable._1password pkgs-unstable._1password-gui pkgs-unstable.skypeforlinux ]; programs.ssh = { enable = true; extraConfig = '' Host * IdentityAgent "~/.1password/agent.sock" ''; }; # This value determines the home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new home Manager release introduces backwards # incompatible changes. # # You can update home Manager without changing this value. See # the home Manager release notes for a list of state version # changes in each release. home.stateVersion = "23.11"; # Let home Manager install and manage itself. # programs.home-manager.enable = true; }