diff --git a/home-manager/flake.nix b/home-manager/flake.nix index a1b68d5..64ccb7b 100644 --- a/home-manager/flake.nix +++ b/home-manager/flake.nix @@ -1,20 +1,35 @@ { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; - home-manager.url = "github:nix-community/home-manager/release-25.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - zen-browser.url = "github:0xc000022070/zen-browser-flake"; - zen-browser.inputs.nixpkgs.follows = "nixpkgs"; - zen-browser.inputs.home-manager.follows = "home-manager"; + + home-manager = { + url = "github:nix-community/home-manager/release-25.05"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; + + illogical-flake = { + url = "github:soymou/illogical-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = inputs@{ nixpkgs, home-manager, ... }: + + outputs = inputs@{ nixpkgs, home-manager, illogical-flake, ... }: let system = "x86_64-linux"; in { homeConfigurations.krosh = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.${system}; - modules = [ ./home.nix ]; + modules = [ + ./home.nix + # illogical-flake.homeManagerModules.default + # { programs.illogical-impulse.enable = true; } + ]; extraSpecialArgs = { inherit inputs; }; }; }; - } diff --git a/home-manager/modules/hypr/hypr.nix b/home-manager/modules/hypr/hypr.nix index fc4c7e7..2402961 100644 --- a/home-manager/modules/hypr/hypr.nix +++ b/home-manager/modules/hypr/hypr.nix @@ -3,4 +3,31 @@ { home.packages = with pkgs; [ hyprland ]; programs.waybar = { enable = true; }; + programs.hyprpanel.enable = true; + programs.hyprpanel.systemd.enable = true; + programs.fuzzel.enable = true; + + # wayland.windowManager.hyprland = { + # enable = true; + + # settings = { + # "$qsConfig" = "ii"; + + # exec = + # "hyprctl dispatch submap global"; # DO NOT REMOVE THIS OR YOU WON'T BE ABLE TO USE ANY KEYBIND + # submap = "global"; # Required for catchall to work + + # debug = { disable_logs = false; }; + # }; + # }; + + # imports = [ + # ./hyprland/env.nix + # ./hyprland/execs.nix + # ./hyprland/general.nix + # ./hyprland/rules.nix + # ./hyprland/colors.nix + # ./hyprland/keybinds.nix + # ./hyprland/active.nix + # ]; } diff --git a/home-manager/modules/hypr/hyprland/keybinds.nix b/home-manager/modules/hypr/hyprland/keybinds.nix new file mode 100644 index 0000000..6af8640 --- /dev/null +++ b/home-manager/modules/hypr/hyprland/keybinds.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: + +{ + wayland.windowManager.hyprland.keybinds = { + "global" = { + "MOD+Return" = "exec alacritty"; + "MOD+d" = "exec dmenu_run"; + "MOD+Shift+q" = "closewindow"; + "MOD+q" = "killactive"; + "MOD+Shift+r" = "reload"; + "MOD+Shift+e" = "exit"; + "MOD+f" = "togglefullscreen"; + "MOD+Shift+f" = "togglesplitfullscreen"; + "MOD+h" = "focusleft"; + "MOD+l" = "focusright"; + "MOD+j" = "focusdown"; + "MOD+k" = "focusup"; + "MOD+Shift+h" = "movewindowleft"; + "MOD+Shift+l" = "movewindowright"; + "MOD+Shift+j" = "movewindowdown"; + "MOD+Shift+k" = "movewindowup"; + "MOD+Tab" = "focusnext"; + "MOD+Shift+Tab" = "focusprev"; + }; + }; +} diff --git a/home-manager/modules/programs.nix b/home-manager/modules/programs.nix index f257bd5..64a4b43 100644 --- a/home-manager/modules/programs.nix +++ b/home-manager/modules/programs.nix @@ -5,6 +5,7 @@ # firefox # in nixos config telegram-desktop vscode + spotify-player ]; imports = [ inputs.zen-browser.homeModules.twilight ]; @@ -13,4 +14,134 @@ # any other options under `programs.firefox` are also supported here. # see `man home-configuration.nix`. }; + + programs.anyrun.enable = true; + programs.anyrun.config = { + x = { fraction = 0.5; }; + y = { absolute = 0; }; + width = { absolute = 800; }; + height = { absolute = 1; }; + + hideIcons = false; + ignoreExclusiveZones = false; + layer = "overlay"; + hidePluginInfo = false; + closeOnClick = false; + showResultsImmediately = false; + maxEntries = null; + + plugins = + [ "libapplications.so" "libsymbols.so" "libshell.so" "libtranslate.so" ]; + + # keybinds = [ + # { + # key = "Return"; + # action = "Select"; + # } + # { + # key = "Up"; + # action = "Up"; + # } + # { + # key = "Down"; + # action = "Down"; + # } + # { + # key = "ISO_Left_Tab"; + # action = "Up"; + # shift = true; + # } + # { + # key = "Tab"; + # action = "Down"; + # } + # { + # key = "Escape"; + # action = "Close"; + # } + # ]; + }; + + # programs.anyrun.extraConfigFiles."config.ron".text = '' + # Config( + # // Position/size fields use an enum for the value, it can be either: + # // Absolute(n): The absolute value in pixels + # // Fraction(n): A fraction of the width or height of the full screen (depends on exclusive zones and the settings related to them) window respectively + + # // The horizontal position, adjusted so that Relative(0.5) always centers the runner + # x: Fraction(0.5), + + # // The vertical position, works the same as `x` + # y: Absolute(0), + + # // The width of the runner + # width: Absolute(800), + + # // The minimum height of the runner, the runner will expand to fit all the entries + # // NOTE: If this is set to 0, the window will never shrink after being expanded + # height: Absolute(1), + + # // Hide match and plugin info icons + # hide_icons: false, + + # // ignore exclusive zones, f.e. Waybar + # ignore_exclusive_zones: false, + + # // Layer shell layer: Background, Bottom, Top, Overlay + # layer: Overlay, + + # // Hide the plugin info panel + # hide_plugin_info: false, + + # // Close window when a click outside the main box is received + # close_on_click: false, + + # // Show search results immediately when Anyrun starts + # show_results_immediately: false, + + # // Limit amount of entries shown in total + # max_entries: None, + + # // List of plugins to be loaded by default, can be specified with a relative path to be loaded from the + # // `/plugins` directory or with an absolute path to just load the file the path points to. + # // + # // The order of plugins here specifies the order in which they appear + # // in the results. As in it works as a priority for the plugins. + # plugins: [ + # "libapplications.so", + # "libsymbols.so", + # "libshell.so", + # "libtranslate.so", + # ], + + # keybinds: [ + # Keybind( + # key: "Return", + # action: Select, + # ), + # Keybind( + # key: "Up", + # action: Up, + # ), + # Keybind( + # key: "Down", + # action: Down, + # ), + # Keybind( + # key: "ISO_Left_Tab", + # action: Up, + # shift: true, + # ), + # Keybind( + # key: "Tab", + # action: Down, + # ), + # Keybind( + # key: "Escape", + # action: Close, + # ), + # ], + # ) + # ''; + } diff --git a/home-manager/modules/zsh/zsh.nix b/home-manager/modules/zsh/zsh.nix index 2fd829e..7743ac1 100644 --- a/home-manager/modules/zsh/zsh.nix +++ b/home-manager/modules/zsh/zsh.nix @@ -54,6 +54,8 @@ c = "clear"; addpath = "export PATH=$PATH:$1"; tree = "eza --tree"; + kk = "sudo kill -9"; + grepps = "ps -A | grep"; gitpa = ''f() { git add -A && git commit -m "$1" && git push; }; f'';