Chore: Add devShell to flake.nix (also update flake.lock) (#964)

* Add devShell

* Update flake.lock

---------

Co-authored-by: orangc <orangc@proton.me>
Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
This commit is contained in:
DADA30000
2025-06-02 09:53:39 +03:00
committed by GitHub
parent 83affe1605
commit 3616e5806b
2 changed files with 123 additions and 60 deletions

39
flake.lock generated
View File

@@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1736090999,
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
"lastModified": 1744557573,
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
"owner": "aylur",
"repo": "ags",
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
"type": "github"
},
"original": {
@@ -29,11 +29,31 @@
]
},
"locked": {
"lastModified": 1735172721,
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
"lastModified": 1742571008,
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
"owner": "aylur",
"repo": "astal",
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
"astal_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1748416910,
"narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=",
"owner": "aylur",
"repo": "astal",
"rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89",
"type": "github"
},
"original": {
@@ -44,11 +64,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"lastModified": 1748370509,
"narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"rev": "4faa5f5321320e49a78ae7848582f684d64783e9",
"type": "github"
},
"original": {
@@ -61,6 +81,7 @@
"root": {
"inputs": {
"ags": "ags",
"astal": "astal_2",
"nixpkgs": "nixpkgs"
}
}

144
flake.nix
View File

@@ -1,7 +1,11 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
astal = {
url = "github:aylur/astal";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = {
url = "github:aylur/ags";
inputs.nixpkgs.follows = "nixpkgs";
@@ -12,6 +16,7 @@
{
self,
nixpkgs,
astal,
ags,
}:
let
@@ -20,8 +25,93 @@
"aarch64-linux"
];
forEachSystem = nixpkgs.lib.genAttrs systems;
packages =
system: pkgs:
(with ags.packages.${system}; [
tray
hyprland
apps
battery
bluetooth
mpris
cava
network
notifd
powerprofiles
wireplumber
])
++ (with pkgs; [
fish
typescript
libnotify
dart-sass
fd
btop
bluez
libgtop
gobject-introspection
glib
bluez-tools
grimblast
brightnessctl
gnome-bluetooth
gtksourceview3
libsoup_3
(python3.withPackages (
ps: with ps; [
gpustat
dbus-python
pygobject3
]
))
matugen
hyprpicker
hyprsunset
hypridle
wireplumber
networkmanager
wf-recorder
upower
gvfs
swww
pywal
]);
in
{
devShells = forEachSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
buildInputs =
with pkgs;
packages system pkgs
++ [
ags.packages.${system}.ags
astal.packages.${system}.astal3
astal.packages.${system}.io
gjs
meson
pkg-config
ninja
];
shellHook = ''
if [ "''${PWD##*/}" = "HyprPanel" ]; then
echo "do you want to initialise stuff in order for tsserver to work? (y/anything_else)"
read consent
if [ "$consent" = "y" ]; then
ags types -d .; mkdir node_modules; ln -s ${astal.packages.${system}.gjs}/share/astal/gjs ./node_modules/astal
fi
else
echo "you're not in HyprPanel root dir, no initialisation for you"
fi
'';
};
}
);
packages = forEachSystem (
system:
let
@@ -34,56 +124,8 @@
name = "hyprpanel"; # name of executable
entry = "app.ts";
extraPackages =
(with ags.packages.${system}; [
tray
hyprland
apps
battery
bluetooth
mpris
cava
network
notifd
powerprofiles
wireplumber
])
++ (with pkgs; [
fish
typescript
libnotify
dart-sass
fd
btop
bluez
libgtop
gobject-introspection
glib
bluez-tools
grimblast
brightnessctl
gnome-bluetooth
gtksourceview3
libsoup_3
(python3.withPackages (
ps: with ps; [
gpustat
dbus-python
pygobject3
]
))
matugen
hyprpicker
hyprsunset
hypridle
wireplumber
networkmanager
wf-recorder
upower
gvfs
swww
pywal
]);
extraPackages = packages system pkgs;
};
# Make a wrapper package to avoid overlay
wrapper = pkgs.writeShellScriptBin "hyprpanel" ''