diff --git a/laptops/t/Makefile b/laptops/t/Makefile index bb8bfae..7fb68d3 100644 --- a/laptops/t/Makefile +++ b/laptops/t/Makefile @@ -16,9 +16,11 @@ else endif rebuild: - sudo nix flake update; sudo nixos-rebuild switch --flake . +update: + sudo nix flake update; + rebuild_old: # sudo cp ./flake.nix /etc/nixos/ # sudo cp ./flake.lock /etc/nixos/ @@ -35,7 +37,7 @@ rebuild_old: #sudo nix-channel --update; sudo nixos-rebuild switch --flake . -update: +update_oldm.: sudo nix-channel --update sudo nixos-rebuild switch #nix-shell -p vim diff --git a/laptops/t/configuration.nix b/laptops/t/configuration.nix index 33d4b41..e9bf3e3 100644 --- a/laptops/t/configuration.nix +++ b/laptops/t/configuration.nix @@ -137,6 +137,11 @@ # https://discourse.nixos.org/t/nvidia-open-breaks-hardware-acceleration/58770/2 nvidia-vaapi-driver vaapiVdpau + libvdpau + libvdpau-va-gl + vdpauinfo + libva + libva-utils ]; }; @@ -305,10 +310,11 @@ __GLX_VENDOR_LIBRARY_NAME = "nvidia"; NVD_BACKEND = "direct"; EGL_PLATFORM = "wayland"; + # prevents cursor disappear when using Nvidia drivers WLR_NO_HARDWARE_CURSORS = "1"; - #MOZ_ENABLE_WAYLAND = "1"; - #XDG_SESSION_TYPE = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + XDG_SESSION_TYPE = "wayland"; NIXOS_OZONE_WL = "1"; }; @@ -377,20 +383,20 @@ enableSSHSupport = true; }; - # https://wiki.hyprland.org/Nix/Hyprland-on-NixOS/ - programs.hyprland = { - enable = true; - # set the flake package - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - # make sure to also set the portal package, so that they are in sync - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - }; + # # https://wiki.hyprland.org/Nix/Hyprland-on-NixOS/ + # programs.hyprland = { + # enable = true; + # # set the flake package + # package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + # # make sure to also set the portal package, so that they are in sync + # portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + # }; - programs.chromium.enable = true; - # programs.chromium.package = pkgs.google-chrome; - # https://nixos.wiki/wiki/Chromium#Enabling_native_Wayland_support - nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; - #programs.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; + # programs.chromium.enable = true; + # # programs.chromium.package = pkgs.google-chrome; + # # https://nixos.wiki/wiki/Chromium#Enabling_native_Wayland_support + # nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; + # #programs.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; #dD # programs.firefox.enable = true; diff --git a/laptops/t/flake.lock b/laptops/t/flake.lock index ab8f73b..f6b2d47 100644 --- a/laptops/t/flake.lock +++ b/laptops/t/flake.lock @@ -166,11 +166,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1738192585, - "narHash": "sha256-bhlT5u8SHc10eFA695klLlKOm3Wb6um1bxuSgp3D5TU=", + "lastModified": 1738273002, + "narHash": "sha256-R1CWBSEHZhykHo3/H3M4U7zLv1QaS87JCTHas38TNiU=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "d462cc7fa166e1e6a6f14b58a2dd1e8b92e15426", + "rev": "ef03f6911694413b1b06aba727ad9ab089a511f7", "type": "github" }, "original": { @@ -397,13 +397,29 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1738284172, + "narHash": "sha256-ixVjn/td+TUvsPyLAMZ/fbrwgdTXPZ7ZS4RBz9TUSK0=", + "owner": "randomizedcoder", + "repo": "nixpkgs", + "rev": "8f146535307f0168d758fe6fee6f52663cb11695", + "type": "github" + }, + "original": { + "owner": "randomizedcoder", + "repo": "nixpkgs", + "rev": "8f146535307f0168d758fe6fee6f52663cb11695", + "type": "github" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1738023785, - "narHash": "sha256-BPHmb3fUwdHkonHyHi1+x89eXB3kA1jffIpwPVJIVys=", + "lastModified": 1738163270, + "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2b4230bf03deb33103947e2528cac2ed516c5c89", + "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0", "type": "github" }, "original": { @@ -441,7 +457,8 @@ "home-manager": "home-manager", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "systems": { diff --git a/laptops/t/flake.nix b/laptops/t/flake.nix index 6f9d25b..4de5f59 100644 --- a/laptops/t/flake.nix +++ b/laptops/t/flake.nix @@ -1,8 +1,18 @@ { description = "t Flake"; + # https://nix.dev/manual/nix/2.24/command-ref/new-cli/nix3-flake.html#flake-inputs inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + # https://docs.github.com/en/rest/branches/branches?apiVersion=2022-11-28#get-a-branch + #nixpkgs.url = "github:nixos/nixpkgs/commit/c541a73ec2bc3574f78cdcfaf5230882b55c79a5.tar.gz"; + #nixpkgs.url = "github:randomizedcoder/nixpkgs/commit/8f146535307f0168d758fe6fee6f52663cb11695"; + nixpkgs-unstable.url = "github:randomizedcoder/nixpkgs/8f146535307f0168d758fe6fee6f52663cb11695";#ipert2_2.2.1 + # https://github.com/NixOS/nix/issues/12022 + #nix flake lock --override-input nixpkgs /home/eelco/Dev/nixpkgs + #nix flake lock --override-input nixpkgs "/home/das/Downloads/nixpkgs + #nixpkgs.url = "/home/das/Downloads/nixpkgs"; + #nixpkgs = "../../../Downloads/nixpkgs/"; # https://nixos-and-flakes.thiscute.world/nixos-with-flakes/start-using-home-manager home-manager = { url = "github:nix-community/home-manager/release-24.11"; @@ -20,30 +30,36 @@ }; }; - outputs = inputs@{ nixpkgs, home-manager, hyprland, ... }: + #outputs = inputs@{ nixpkgs, home-manager, hyprland, ... }: + outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, hyprland, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; }; + # https://nixos.wiki/wiki/Flakes#Importing_packages_from_multiple_channels + overlay-unstable = final: prev: { + unstable = nixpkgs-unstable.legacyPackages.${prev.system}; + }; lib = nixpkgs.lib; in { nixosConfigurations = { - t = lib.nixosSystem { + t = lib.nixosSystem rec { #system ="x86_64-linux"; inherit system; - specialArgs = { inherit inputs; }; + specialArgs = { inherit hyprland; }; modules = [ + ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) ./configuration.nix + hyprland.nixosModules.default home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.das = import ./home.nix; - - # Optionally, use home-manager.extraSpecialArgs to pass - # arguments to home.nix + home-manager.extraSpecialArgs = specialArgs; + # see also: https://github.com/HeinzDev/Hyprland-dotfiles/blob/main/flake.nix } ]; }; diff --git a/laptops/t/home.nix b/laptops/t/home.nix index 5c35ad9..f96c27c 100644 --- a/laptops/t/home.nix +++ b/laptops/t/home.nix @@ -1,12 +1,25 @@ -{ config, pkgs, ... }: +{ + hyprland, + config, + pkgs, + ... +}: +#{ config, pkgs, ... }: #{ config, inputs, pkgs, ... }: # sudo cp ./nixos/modules/* /etc/nixos/ # sudo nixos-rebuild switch { - home.username = "das"; - home.homeDirectory = "/home/das"; + imports = [ + hyprland.homeManagerModules.default + # other imports to go here + ]; + + home = { + username = "das"; + homeDirectory = "/home/das"; + }; # https://nix-community.github.io/home-manager/index.xhtml#ch-installation #home-manager.users.das = { pkgs, ... }: { @@ -81,7 +94,7 @@ vlan tcpdump wireshark - #iperf2 + unstable.iperf2 netperf flent bpftools @@ -200,7 +213,14 @@ firefox # https://nixos.wiki/wiki/Chromium chromium - google-chrome + #google-chrome + # https://discourse.nixos.org/t/google-chrome-not-working-after-recent-nixos-rebuild/43746 + (google-chrome.override { + commandLineArgs = [ + "--enable-features=UseOzonePlatform" + "--ozone-platform=wayland" + ]; + }) # https://nixos.wiki/wiki/Slack slack # @@ -360,6 +380,9 @@ ]; }; + # another example with dark colors: + # https://github.com/HeinzDev/Hyprland-dotfiles/blob/main/home/home.nix#L70 + # # https://heywoodlh.io/nixos-gnome-settings-and-keyboard-shortcuts dconf.settings = { "org/gnome/desktop/wm/preferences" = {