diff --git a/flake.lock b/flake.lock index 5da64a3..eaca1cd 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,23 @@ { "nodes": { + "ags": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1711629152, + "narHash": "sha256-GxhduJ3mRzdtdOiJTn2fD6Z5rvM51aT9X7YrZCmoKbs=", + "owner": "Aylur", + "repo": "ags", + "rev": "eedd643db42bb9a5f837904062efb01b6d59fa5b", + "type": "github" + }, + "original": { + "owner": "Aylur", + "repo": "ags", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -87,7 +105,7 @@ "hyprcursor": "hyprcursor", "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang_2", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "systems": "systems_2", "wlroots": "wlroots", "xdph": "xdph" @@ -196,6 +214,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1711523803, "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", @@ -211,7 +245,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1711523803, "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=", @@ -227,7 +261,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1711163522, "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", @@ -245,11 +279,12 @@ }, "root": { "inputs": { + "ags": "ags", "home-manager": "home-manager", "hy3": "hy3", "hyprland": "hyprland", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "waybar": "waybar" } }, @@ -286,7 +321,7 @@ "waybar": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1711628124, diff --git a/flake.nix b/flake.nix index b37af40..5b7bf00 100644 --- a/flake.nix +++ b/flake.nix @@ -5,8 +5,10 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; - home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; hyprland.url = "github:hyprwm/Hyprland"; hy3 = { @@ -16,20 +18,22 @@ waybar.url = "github:Alexays/Waybar"; + ags.url = "github:Aylur/ags"; + }; - outputs = { self, nixpkgs, nixos-hardware, home-manager, hyprland, hy3, waybar, ... }@inputs: { + outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: { nixosConfigurations = { W530 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = inputs; modules = [ - hyprland.nixosModules.default + inputs.hyprland.nixosModules.default ./modules ./hosts/W530 - home-manager.nixosModules.home-manager + inputs.home-manager.nixosModules.home-manager { imports = [ ./users/gandalf ]; @@ -42,14 +46,14 @@ specialArgs = inputs; modules = [ - hyprland.nixosModules.default + inputs.hyprland.nixosModules.default ./modules ./hosts/T430 # nixos-hardware.nixosModules.lenovo-thinkpad-t430 - home-manager.nixosModules.home-manager + inputs.home-manager.nixosModules.home-manager { imports = [ ./users/gandalf ]; @@ -62,12 +66,12 @@ specialArgs = inputs; modules = [ - hyprland.nixosModules.default + inputs.hyprland.nixosModules.default ./modules ./hosts/IROH - home-manager.nixosModules.home-manager + inputs.home-manager.nixosModules.home-manager { imports = [ ./users/gandalf ]; diff --git a/users/gandalf/default.nix b/users/gandalf/default.nix index 6118837..5dfe91e 100644 --- a/users/gandalf/default.nix +++ b/users/gandalf/default.nix @@ -1,4 +1,4 @@ -{ unstable, hyprland, hy3, waybar, ... }: +{ ... }@inputs: let aliases = import ../../modules/aliases.nix; in @@ -11,15 +11,13 @@ in home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { - inherit unstable; - inherit hyprland; - inherit hy3; - inherit waybar; + inherit inputs; }; home-manager.users.gandalf = { pkgs, ... }: { imports = [ - hyprland.homeManagerModules.default + inputs.hyprland.homeManagerModules.default + inputs.ags.homeManagerModules.default ./modules ]; diff --git a/users/gandalf/modules/gui/ags/default.nix b/users/gandalf/modules/gui/ags/default.nix new file mode 100644 index 0000000..c4f7156 --- /dev/null +++ b/users/gandalf/modules/gui/ags/default.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: { + + programs.ags = { + enable = true; + + # null or path, leave as null if you don't want hm to manage the config + # configDir = ../ags; + + # additional packages to add to gjs's runtime + extraPackages = with pkgs; [ + gtksourceview + webkitgtk + ]; + }; + +} diff --git a/users/gandalf/modules/gui/default.nix b/users/gandalf/modules/gui/default.nix index dc3bc94..85aa958 100644 --- a/users/gandalf/modules/gui/default.nix +++ b/users/gandalf/modules/gui/default.nix @@ -2,6 +2,7 @@ imports = with lib; with nixosConfig.bchmnn; optionals gui.enable [ + ./ags ./gtk.nix ./programs ] ++ optionals (gui.enable && elem "sway" gui.flavour) [ diff --git a/users/gandalf/modules/gui/hyprland/default.nix b/users/gandalf/modules/gui/hyprland/default.nix index 8067206..cd1cab8 100644 --- a/users/gandalf/modules/gui/hyprland/default.nix +++ b/users/gandalf/modules/gui/hyprland/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, nixosConfig, hy3, config, ... }: +{ pkgs, lib, nixosConfig, config, inputs, ... }: let common = (import ../common.nix) { pkgs = pkgs; lib = lib; }; @@ -62,7 +62,7 @@ in wayland.windowManager.hyprland = { enable = true; - plugins = [ hy3.packages.x86_64-linux.hy3 ]; + plugins = [ inputs.hy3.packages.x86_64-linux.hy3 ]; settings = { env = with lib; with nixosConfig.bchmnn; optionals nvidia.enable [ "CLUTTER_BACKEND,wayland" diff --git a/users/gandalf/modules/gui/waybar.nix b/users/gandalf/modules/gui/waybar.nix index 073acda..65819eb 100644 --- a/users/gandalf/modules/gui/waybar.nix +++ b/users/gandalf/modules/gui/waybar.nix @@ -1,4 +1,4 @@ -{ pkgs, waybar, ... }: +{ pkgs, inputs, ... }: let check-battery = pkgs.writeShellScript "check-battery" '' bat=/sys/class/power_supply/BAT0 @@ -687,6 +687,6 @@ in programs.waybar = { enable = true; # TODO replace with (un-)stable channel version once available - package = waybar.packages.x86_64-linux.default; + package = inputs.waybar.packages.x86_64-linux.default; }; }