diff --git a/flake.lock b/flake.lock index 76cb303..307b348 100644 --- a/flake.lock +++ b/flake.lock @@ -76,7 +76,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1701680307, @@ -134,6 +134,55 @@ "type": "github" } }, + "hyprland": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "nixpkgs": [ + "nixpkgs-unstable" + ], + "systems": "systems", + "wlroots": "wlroots", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1702488319, + "narHash": "sha256-goxBCjjWitvx2Oq4AihpA2OhYEirolMLC48fdA7Iey8=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "01e5c59d752d3fe7fa484330fa48e010054b8fa1", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1691753796, + "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, "nix-colors": { "inputs": { "base16-schemes": "base16-schemes", @@ -291,6 +340,7 @@ "inputs": { "agenix": "agenix", "home-manager": "home-manager_2", + "hyprland": "hyprland", "nix-colors": "nix-colors", "nixinate": "nixinate", "nixos-hardware": "nixos-hardware", @@ -300,6 +350,21 @@ } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -313,6 +378,54 @@ "repo": "default", "type": "github" } + }, + "wlroots": { + "flake": false, + "locked": { + "host": "gitlab.freedesktop.org", + "lastModified": 1701368958, + "narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=", + "owner": "wlroots", + "repo": "wlroots", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "type": "gitlab" + }, + "original": { + "host": "gitlab.freedesktop.org", + "owner": "wlroots", + "repo": "wlroots", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", + "type": "gitlab" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1702334919, + "narHash": "sha256-ibOZ3TLjqndGMcj2f+07NFwDWoum4IbzF58byZuJJNg=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "f5c3576c3b6cb1c31a8dfa3e4113f59bfe40cd71", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 78de36c..9b99df3 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,10 @@ }; nixinate.url = "github:matthewcroughan/nixinate"; nix-colors.url = "github:misterio77/nix-colors"; + hyprland = { + url = "github:hyprwm/Hyprland"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; # MESA/OpenGL HW workaround + }; }; outputs = { self, nixpkgs, @@ -26,6 +30,7 @@ home-manager, nixinate, nix-colors, + hyprland, }@inputs: let system = "x86_64-linux"; @@ -105,6 +110,7 @@ ./users/kopatz ### System modules ### ./modules/graphical/plasma.nix + hyprland.nixosModules.default ./modules/graphical/hyprland.nix ./modules/graphical/emulators.nix ./modules/graphical/gamemode.nix @@ -147,6 +153,7 @@ ./users/kopatz ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) # Todo: refactor file layout + hyprland.nixosModules.default ./modules/graphical/hyprland.nix ./modules/graphical/shared.nix ./laptop/configuration.nix diff --git a/modules/cli-tools.nix b/modules/cli-tools.nix index ba8265b..45ee46b 100644 --- a/modules/cli-tools.nix +++ b/modules/cli-tools.nix @@ -17,6 +17,5 @@ ffmpeg nethogs dig - nss-tools ]; } diff --git a/modules/graphical/hyprland.nix b/modules/graphical/hyprland.nix index f317863..08a7904 100644 --- a/modules/graphical/hyprland.nix +++ b/modules/graphical/hyprland.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, inputs, ... }: let - patchedWaybar = pkgs.waybar.overrideAttrs (oldAttrs: { + patchedWaybar = pkgs.unstable.waybar.overrideAttrs (oldAttrs: { mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; }); diff --git a/modules/graphical/shared.nix b/modules/graphical/shared.nix index a82a0d8..108ff47 100644 --- a/modules/graphical/shared.nix +++ b/modules/graphical/shared.nix @@ -17,6 +17,7 @@ in fonts.fontDir.enable = true; fonts.packages = with pkgs; [ + corefonts nerdfonts noto-fonts noto-fonts-emoji diff --git a/modules/nix/settings.nix b/modules/nix/settings.nix index 94e64ed..a7d33b8 100644 --- a/modules/nix/settings.nix +++ b/modules/nix/settings.nix @@ -1,4 +1,8 @@ +{ inputs, config, ... }: { nix.optimise.automatic = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; -} \ No newline at end of file + nix.registry.nixpkgs.flake = inputs.nixpkgs; + nix.nixPath = ["nixpkgs=flake:nixpkgs"]; + home-manager.users.${config.mainUser.name}.home.sessionVariables.NIX_PATH = "nixpkgs=flake:nixpkgs$\{NIX_PATH:+:$NIX_PATH}"; +} diff --git a/users/kopatz/default.nix b/users/kopatz/default.nix index b49e1d3..c7f9a51 100644 --- a/users/kopatz/default.nix +++ b/users/kopatz/default.nix @@ -20,7 +20,7 @@ extraGroups = [ "networkmanager" "wheel" "docker" ]; packages = with pkgs; [ (discord.override { withVencord = true; }) - librewolf + firefox brave ]; openssh.authorizedKeys.keys = [