diff --git a/flake.lock b/flake.lock index 1eb96fe..9b1380a 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1765606130, - "narHash": "sha256-KOP4QnkiRwiD5KEOr6ceF67rfTP1OqPmCCft6xDC3k4=", + "lastModified": 1766171975, + "narHash": "sha256-47Ee0bTidhF/3/sHuYnWRuxcCrrm0mBNDxBkOTd3wWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "d787ec69c3216ea33be1c0424fe65cb23aa8fb31", + "rev": "bb35f07cc95a73aacbaf1f7f46bb8a3f40f265b5", "type": "github" }, "original": { @@ -166,11 +166,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1765634149, - "narHash": "sha256-hZ6klhLeWe+/S+LZlp49xf7qlmYMs1n/23krK3JkESY=", + "lastModified": 1766160862, + "narHash": "sha256-rEOiUTknr+/t9p6C9o2UH2sK98h3HqeiYj7UydqiZn4=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "09e195d1f293a876ce21a077af3d7c5047881b79", + "rev": "315806f59816aacdbf7c66aaeaa0e49d3a33a66d", "type": "github" }, "original": { @@ -417,11 +417,11 @@ ] }, "locked": { - "lastModified": 1765065051, - "narHash": "sha256-b7W9WsvyMOkUScNxbzS45KEJp0iiqRPyJ1I3JBE+oEE=", + "lastModified": 1766038392, + "narHash": "sha256-ht/GuKaw5NT3M12xM+mkUtkSBVtzjJ8IHIy6R/ncv9g=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "7e22bf538aa3e0937effcb1cee73d5f1bcc26f79", + "rev": "5fb45ece6129bd7ad8f7310df0ae9c00bae7c562", "type": "github" }, "original": { @@ -449,11 +449,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1765472234, - "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", + "lastModified": 1766070988, + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", "type": "github" }, "original": { @@ -465,11 +465,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1764950072, - "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", + "lastModified": 1765472234, + "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f61125a668a320878494449750330ca58b78c557", + "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", "type": "github" }, "original": { @@ -517,11 +517,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1765082296, - "narHash": "sha256-EcefoixU9ht+P6QB/TfjLY9E3MdJVfeSec6G8Ges0pA=", + "lastModified": 1765687197, + "narHash": "sha256-5aJgT+lEC7ypuAGE3DQLj3LzYDQ+kRG6MnkVr3ZF9RU=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "ac4927ea1ec7e7ea3635a1d8b933106a596c4356", + "rev": "fa6a5dde9d95bf7b8f075ff5aceeb1d97fa9043a", "type": "github" }, "original": { diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index b69ef47..c8406c0 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -21,10 +21,12 @@ # Enable Flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; + # Enables SDDM services = { xserver = { enable = true; }; + displayManager = { defaultSession = "hyprland"; sddm = { @@ -63,6 +65,7 @@ extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; + backupFileExtension = "backup"; users = { "alex" = import ./home.nix; }; diff --git a/hosts/nixos/home.nix b/hosts/nixos/home.nix index 2163a17..69839ba 100644 --- a/hosts/nixos/home.nix +++ b/hosts/nixos/home.nix @@ -13,36 +13,6 @@ commonHome // { imports = [ ../../modules/home-manager/hyprland.nix ]; - - - # Hyprland - wayland.windowManager.hyprland = { - enable = true; - - settings = { - # Variables - "$mod" = "SUPER"; - "$term" = "alacritty"; - "$launcher" = "wofi --show drun"; - "$browser" = "firefox"; - - # Input - input = { - kb_layout = "fr"; - kb_variant = ""; - }; - - # Keybinds - bind = [ - "$mod, Q, killactive" - "$mod, RETURN, exec, $term" - "$mod, M, exit" - "$mod, R, exec, $launcher" - "$mod, F, exec, $browser" - ]; - }; - }; - # 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. diff --git a/modules/home-manager/hyprland.nix b/modules/home-manager/hyprland.nix index 2c63c08..74fb7ce 100644 --- a/modules/home-manager/hyprland.nix +++ b/modules/home-manager/hyprland.nix @@ -1,2 +1,57 @@ +let + workspaceBinds = let + wsList = builtins.genList (i: i + 1) 10; + in builtins.concatLists (map (ws: + let keycode = ws + 9; + in [ + "SUPER, code:${toString keycode}, workspace, ${toString ws}" + "SUPER SHIFT, code:${toString keycode}, workspace, ${toString ws}" + ] + ) wsList); +in { + wayland.windowManager.hyprland = + { + enable = true; + + # Config + settings = + { + # Variables + "$mod" = "SUPER"; + "$term" = "alacritty"; + "$launcher" = "wofi --show drun"; + "$launcher2" = "hyprlauncher"; + "fileManager" = "dolphin"; + "$browser" = "firefox"; + + # Input + input = { + kb_layout = "fr"; + numlock_by_default = true; + accel_profile = "flat"; + follow_mouse = "1"; + }; + + # Keybinds + bind = workspaceBinds ++ [ + # Launch binds + "$mod, Q, killactive" + "$mod, RETURN, exec, $term" + "$mod, M, exit" + "$mod, R, exec, $launcher2" + "$mod, F, exec, $browser" + "$mod, E, exec, fileManager" + + # Focus binds + "$mod, left, movefocus, l" + "$mod, right, movefocus, r" + "$mod, up, movefocus, u" + "$mod, down, movefocus, d" + + ]; + + }; + }; + }