diff --git a/flake.nix b/flake.nix index a1d0b58..af3b8f7 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; - # nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + # nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager.url = "github:nix-community/home-manager/release-24.11"; # home-manager.url = "github:nix-community/home-manager"; @@ -22,14 +22,14 @@ # Not used yet due to some skill issue hyprland = { - type = "git"; - url = "https://github.com/hyprwm/Hyprland"; - submodules = true; + url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; }; + hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; + hyprgrass = { url = "github:horriblename/hyprgrass"; inputs.hyprland.follows = "hyprland"; @@ -40,44 +40,32 @@ { self, nixpkgs, nix-index-database, ... }@inputs: let system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + nix-version = "24.11"; in { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; - nixosConfigurations.dn-pre7780 = nixpkgs.lib.nixosSystem { - modules = [ - nix-index-database.nixosModules.nix-index - ./system/dev/dn-pre7780 - ]; - specialArgs = { - inherit inputs; - inherit system; + nixosConfigurations = { + dn-pre7780 = nixpkgs.lib.nixosSystem { + modules = [ + nix-index-database.nixosModules.nix-index + ./system/dev/dn-pre7780 + ]; + specialArgs = { + inherit inputs system nix-version; + }; + }; + + dn-lap = nixpkgs.lib.nixosSystem { + modules = [ + nix-index-database.nixosModules.nix-index + ./system/dev/dn-lap + ]; + specialArgs = { + inherit inputs system nix-version; + }; }; }; - - nixosConfigurations.dn-lap = nixpkgs.lib.nixosSystem { - modules = [ - nix-index-database.nixosModules.nix-index - ./system/dev/dn-lap - ]; - specialArgs = { - inherit inputs; - inherit system; - }; - }; - - # homeConfigurations = { - # danny = home-manager.lib.homeManagerConfiguration { - # inherit pkgs; - # modules = [ ./home ]; - # extraSpecialArgs = { - # inherit pkgs-unstable; - # inherit inputs; - # }; - # }; - # }; - # programs.home-manager.enable = true; }; } diff --git a/home/default.nix b/home/default.nix index 7a3ec24..d04c50f 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,12 +1,11 @@ -{ config, pkgs, pkgsUnstable, ... }: +{ config, pkgs, pkgsUnstable, nix-version, ... }: { imports = [ ./user ]; home.username = "danny"; home.homeDirectory = "/home/danny"; - home.stateVersion = "24.11"; - # home.stateVersion = "25.05"; + home.stateVersion = nix-version; # Let Home Manager install and manage itself. programs.home-manager.enable = true; diff --git a/home/user/default.nix b/home/user/default.nix index 18b6748..37157ec 100644 --- a/home/user/default.nix +++ b/home/user/default.nix @@ -1,3 +1,4 @@ +{ inputs, ... }: { imports = [ ./git.nix @@ -8,7 +9,8 @@ ./programs.nix ./environment.nix ./virtualization.nix - # ./hyprland.nix + ./hyprland.nix + inputs.hyprland.homeManagerModules.default ]; nixpkgs = { diff --git a/home/user/environment.nix b/home/user/environment.nix index dde14af..c6af9de 100644 --- a/home/user/environment.nix +++ b/home/user/environment.nix @@ -30,6 +30,7 @@ GTK_IM_MODULE = ""; XDG_DATA_DIRS = "\${XDG_DATA_DIRS}:/usr/share:/var/lib/flatpak/exports/share:\${HOME}/.local/share/flatpak/exports/share"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; + # GDK_BACKEND = "wayland"; # GPU LIBVA_DRIVER_NAME = "nvidia"; diff --git a/home/user/hyprland.nix b/home/user/hyprland.nix index f3cd1df..6bc5412 100644 --- a/home/user/hyprland.nix +++ b/home/user/hyprland.nix @@ -1,16 +1,23 @@ -{ pkgs, lib, inputs, ... }: +{ pkgs, lib, inputs, system, ... }: { + home.packages = with pkgs; [ + # wayland + ]; + + systemd.user.targets.hyprland-session.Unit.Wants = [ + "xdg-desktop-autostart.target" + ]; + # Have not figured out how to config throught homeManager yet wayland.windowManager.hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; xwayland.enable = true; systemd.enable = true; plugins = [ - inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars - inputs.hyprgrass.packages.${pkgs.system}.default + inputs.hyprland-plugins.packages.${system}.hyprbars + inputs.hyprgrass.packages.${system}.default ]; settings = { diff --git a/system/dev/dn-lap/default.nix b/system/dev/dn-lap/default.nix index 46f720b..96750a6 100644 --- a/system/dev/dn-lap/default.nix +++ b/system/dev/dn-lap/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, inputs, ... }: +{ lib, pkgs, inputs, nix-version, ... }: { imports = [ @@ -33,10 +33,10 @@ networking.hostName = lib.mkForce "dn-lap"; programs.steam.enable = lib.mkForce false; - system.stateVersion = "24.11"; + system.stateVersion = nix-version; home-manager = { backupFileExtension = "backup"; - extraSpecialArgs = { inherit inputs; }; + extraSpecialArgs = { inherit inputs system nix-version; }; users = { "danny" = import ../../../home; }; }; } diff --git a/system/dev/dn-pre7780/default.nix b/system/dev/dn-pre7780/default.nix index 9c2e049..187c87d 100644 --- a/system/dev/dn-pre7780/default.nix +++ b/system/dev/dn-pre7780/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, inputs, ... }: +{ lib, pkgs, inputs, system, nix-version, ... }: { imports = [ @@ -12,11 +12,14 @@ # Overrides networking.hostName = lib.mkForce "dn-pre7780"; - system.stateVersion = "24.11"; + system.stateVersion = nix-version; + home-manager = { backupFileExtension = "backup"; - extraSpecialArgs = { inherit inputs; }; - users = { "danny" = import ../../../home; }; + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = { inherit inputs system nix-version; }; + users."danny" = { imports = [ ../../../home ]; }; }; } diff --git a/system/modules/display-manager.nix b/system/modules/display-manager.nix index bbc5825..59199f3 100644 --- a/system/modules/display-manager.nix +++ b/system/modules/display-manager.nix @@ -3,7 +3,7 @@ { services = { greetd = { - enable = false; + enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland"; @@ -12,11 +12,11 @@ }; }; - displayManager = { - sddm.wayland.enable = true; - sddm.enable = true; - sddm.theme = "${import ./sddm-theme.nix { inherit pkgs; }}"; - }; + # displayManager = { + # sddm.wayland.enable = true; + # sddm.enable = true; + # sddm.theme = "${import ./sddm-theme.nix { inherit pkgs; }}"; + # }; }; environment.systemPackages = with pkgs; [ diff --git a/system/modules/hardware.nix b/system/modules/hardware.nix index 93645e1..54f7195 100644 --- a/system/modules/hardware.nix +++ b/system/modules/hardware.nix @@ -27,10 +27,13 @@ enable32Bit = true; extraPackages = with pkgs; [ intel-media-driver # LIBVA_DRIVER_NAME=iHD + vaapiVdpau + (vaapiIntel.override { enableHybridCodec = true; }) libvdpau-va-gl ]; }; + enableRedistributableFirmware = true; }; # Enable bluetooth diff --git a/system/modules/hyprland.nix b/system/modules/hyprland.nix index db5678c..2b1e75f 100644 --- a/system/modules/hyprland.nix +++ b/system/modules/hyprland.nix @@ -3,11 +3,13 @@ { programs.hyprland = { enable = true; - package = inputs.hyprland.packages.${system}.hyprland; - withUWSM = true; - xwayland.enable = true; - portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; - # portalPackage = pkgs.xdg-desktop-portal-hyprland; + }; + + xdg.portal = { + enable = true; + wlr.enable = true; + xdgOpenUsePortal = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-hyprland ]; }; environment.sessionVariables = { diff --git a/system/modules/programs.nix b/system/modules/programs.nix index 09e51d8..77f71c9 100644 --- a/system/modules/programs.nix +++ b/system/modules/programs.nix @@ -1,13 +1,6 @@ { pkgs, ... }: { - xdg.portal = { - enable = true; - wlr.enable = false; - xdgOpenUsePortal = false; - extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ]; - }; - programs = { steam = { enable = true;