matt1432
5dbe479f57
All checks were successful
Discord / discord commits (push) Has been skipped
Flake Inputs: • Updated input 'ags': 'github:Aylur/ags/d8c2748' (2024-11-14) → 'github:Aylur/ags/3e270c8' (2024-11-15) • Updated input 'astal': 'github:Aylur/astal/d538d8e' (2024-11-14) → 'github:Aylur/astal/852cf24' (2024-11-17) • Updated input 'custom-sidebar-src': 'github:elchininet/custom-sidebar/8710f88' (2024-11-14) → 'github:elchininet/custom-sidebar/ffa2256' (2024-11-17) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=4d3e95d' (2024-11-13) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=0ee6814' (2024-11-17) • Updated input 'gtk-theme-src': 'github:dracula/gtk/7803795' (2024-11-08) → 'github:dracula/gtk/fda0fb5' (2024-11-17) • Updated input 'home-manager': 'github:nix-community/home-manager/1d0862e' (2024-11-14) → 'github:nix-community/home-manager/f3a2ff6' (2024-11-17) • Updated input 'hyprland': 'github:hyprwm/Hyprland/098e491' (2024-11-15) → 'github:hyprwm/Hyprland/1ba050d' (2024-11-17) • Updated input 'hyprland/aquamarine': 'github:hyprwm/aquamarine/3b00e96' (2024-11-13) → 'github:hyprwm/aquamarine/b31a6a4' (2024-11-16) • Updated input 'hyprland/xdph': 'github:hyprwm/xdg-desktop-portal-hyprland/09b23ce' (2024-11-04) → 'github:hyprwm/xdg-desktop-portal-hyprland/8070f36' (2024-11-15) • Updated input 'hyprutils': 'github:hyprwm/hyprutils/315fba5' (2024-11-13) → 'github:hyprwm/hyprutils/e911361' (2024-11-15) • Updated input 'jellyfin-flake': 'github:matt1432/nixos-jellyfin/5d0496a' (2024-11-12) → 'github:matt1432/nixos-jellyfin/cc508a8' (2024-11-17) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/7691d0a' (2024-11-10) → 'github:Jovian-Experiments/Jovian-NixOS/a2c6d8d' (2024-11-16) • Updated input 'material-symbols-src': 'github:beecho01/material-symbols/160f21e' (2024-11-10) → 'github:beecho01/material-symbols/1296eb0' (2024-11-17) • Updated input 'nh': 'github:viperML/nh/afdff9a' (2024-10-08) → 'github:viperML/nh/4ab65f4' (2024-11-17) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/5b3cac9' (2024-11-14) → 'github:fufexan/nix-gaming/88cd24b' (2024-11-17) • Updated input 'nix-gaming/umu': 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=9035246&submodules=1' (2024-11-05) → 'git+https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix&ref=refs/heads/main&rev=66a1088&submodules=1' (2024-11-14) • Updated input 'nix-index-db': 'github:Mic92/nix-index-database/40d882b' (2024-11-14) → 'github:Mic92/nix-index-database/bdba246' (2024-11-17) • Updated input 'nixd': 'github:nix-community/nixd/1cf9ec0' (2024-11-08) → 'github:nix-community/nixd/0f3c0c7' (2024-11-15) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/dc460ec' (2024-11-11) → 'github:NixOS/nixpkgs/5e4fbfb' (2024-11-15) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/f2b7b11' (2024-11-14) → 'github:nix-community/nixpkgs-wayland/82cf224' (2024-11-17) • Updated input 'pcsd': 'github:matt1432/nixos-pcsd/1b10d74' (2024-11-14) → 'github:matt1432/nixos-pcsd/a615628' (2024-11-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4c91d52' (2024-11-11) → 'github:Mic92/sops-nix/472741c' (2024-11-17) • Updated input 'spotifyplus-src': 'github:thlucas1/homeassistantcomponent_spotifyplus/532daa8' (2024-11-03) → 'github:thlucas1/homeassistantcomponent_spotifyplus/751b378' (2024-11-15) • Updated input 'spotifywebapi-src': 'github:thlucas1/SpotifyWebApiPython/64a1ce3' (2024-11-08) → 'github:thlucas1/SpotifyWebApiPython/13a2669' (2024-11-15) • Updated input 'ts-for-gir-src': 'github:gjsify/ts-for-gir/f703cc1' (2024-11-11) → 'github:gjsify/ts-for-gir/a366faa' (2024-11-16) • Updated input 'tuya-local-src': 'github:make-all/tuya-local/acf1e9a' (2024-11-14) → 'github:make-all/tuya-local/f914065' (2024-11-17) • Updated input 'vimplugin-ts-error-translator-src': 'github:dmmulroy/ts-error-translator.nvim/3bd23c4' (2024-09-23) → 'github:dmmulroy/ts-error-translator.nvim/47e5ba8' (2024-11-16) Docker Images: • codeberg.org/forgejo/forgejo 9: sha256:dc2267f989b8c8f5b9152b11bbd353d4f1a097619c551558b01b8638554e9f5a → sha256:5343937f18f2580300c5dbc0144df0994681fec2b8774e8a8ecee2d6c9f8c595 • postgres 14: sha256:e7d3e4fdcdb4187649d50217c3a8fed20bee215cd19233004c9fb0eaeae5ecf0 → sha256:823196c45d0cdbf70e5782e1b6cc116b3417211ce1884c373afff97abec7be2f • postgres 15-alpine: sha256:846079648cd9ac5dbf977aa7ee68d7e57e8ed1e368d88b54298e3b8e96a23d88 → sha256:3b5f286a417dde5945504ef9156ff9436ffccf428048d7b52c1574c6fc752bb6 • ghcr.io/linuxserver/sonarr latest: sha256:c0281bd62b9a75f088fa4a09e5f8776431921883766633cb5e5fbd5a74761155 → sha256:a30d870ae503e617e84909367c8f19096567ef60834fa8d81d86d17a13e50d1a Firefox Addons: floccus: 5.3.3 -> 5.3.4 Misc Sources: Vuetorrent: 2.17.0 -> 2.18.0
137 lines
3.7 KiB
Nix
137 lines
3.7 KiB
Nix
self: {
|
|
config,
|
|
lib,
|
|
osConfig,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (self.inputs) ags gtk-session-lock;
|
|
|
|
inherit (lib) attrValues boolToString optionals removeAttrs;
|
|
|
|
inherit (osConfig.networking) hostName;
|
|
|
|
cfg = config.programs.ags;
|
|
cfgDesktop = osConfig.roles.desktop;
|
|
in {
|
|
config = {
|
|
# Make these accessible outside these files
|
|
programs.ags = {
|
|
package = ags.packages.${pkgs.system}.ags.override {
|
|
extraPackages = cfg.astalLibs;
|
|
};
|
|
astalLibs =
|
|
attrValues (
|
|
removeAttrs ags.inputs.astal.packages.${pkgs.system} ["docs" "gjs" "cava"]
|
|
)
|
|
++ [gtk-session-lock.packages.${pkgs.system}.default];
|
|
|
|
lockPkg = pkgs.writeShellApplication {
|
|
name = "lock";
|
|
runtimeInputs = [cfg.package];
|
|
text = ''
|
|
export CONF="lock"
|
|
|
|
if [ "$#" == 0 ]; then
|
|
exec ags run ~/${cfg.configDir}
|
|
else
|
|
exec ags "$@" -i lock
|
|
fi
|
|
'';
|
|
};
|
|
};
|
|
|
|
home = {
|
|
packages =
|
|
[
|
|
(pkgs.writeShellApplication {
|
|
name = "ags";
|
|
runtimeInputs = [cfg.package];
|
|
text = ''
|
|
export CONF="${hostName}"
|
|
|
|
if [ "$#" == 0 ]; then
|
|
exec ags run ~/${cfg.configDir}
|
|
else
|
|
exec ags "$@"
|
|
fi
|
|
'';
|
|
})
|
|
(pkgs.writeShellApplication {
|
|
name = "agsConf";
|
|
runtimeInputs = [cfg.package];
|
|
text = ''
|
|
export CONF="$1"
|
|
exec ${cfg.package}/bin/ags run ~/${cfg.configDir}
|
|
'';
|
|
})
|
|
]
|
|
++ (builtins.attrValues {
|
|
inherit
|
|
(pkgs)
|
|
playerctl
|
|
pavucontrol # TODO: replace with ags widget
|
|
;
|
|
})
|
|
++ (optionals cfgDesktop.isTouchscreen (builtins.attrValues {
|
|
inherit
|
|
(pkgs)
|
|
ydotool
|
|
;
|
|
}));
|
|
|
|
file = let
|
|
inherit
|
|
(import "${self}/lib" {inherit pkgs self;})
|
|
buildNodeModules
|
|
buildGirTypes
|
|
;
|
|
in (
|
|
(buildGirTypes {
|
|
pname = "ags";
|
|
configPath = "${cfg.configDir}/@girs";
|
|
packages = cfg.astalLibs;
|
|
})
|
|
// {
|
|
"${cfg.configDir}/node_modules".source =
|
|
buildNodeModules ./config "sha256-DtrSplIOSudRgBCfKsDAtok0/21xzHiTJNrKLYy4mfY=";
|
|
|
|
"${cfg.configDir}/tsconfig.json".source = let
|
|
inherit (ags.packages.${pkgs.system}) gjs;
|
|
in
|
|
pkgs.writers.writeJSON "tsconfig.json" {
|
|
"$schema" = "https://json.schemastore.org/tsconfig";
|
|
"compilerOptions" = {
|
|
"experimentalDecorators" = true;
|
|
"strict" = true;
|
|
"target" = "ES2023";
|
|
"moduleResolution" = "Bundler";
|
|
"jsx" = "react-jsx";
|
|
"jsxImportSource" = "${gjs}/share/astal/gjs/gtk3";
|
|
"paths" = {
|
|
"astal" = ["${gjs}/share/astal/gjs"];
|
|
"astal/*" = ["${gjs}/share/astal/gjs/*"];
|
|
};
|
|
"skipLibCheck" = true;
|
|
"module" = "ES2022";
|
|
"lib" = ["ES2023"];
|
|
};
|
|
};
|
|
|
|
"${cfg.configDir}/widgets/lockscreen/vars.ts".text =
|
|
# javascript
|
|
''
|
|
export default {
|
|
mainMonitor: '${cfgDesktop.mainMonitor}',
|
|
dupeLockscreen: ${boolToString cfgDesktop.displayManager.duplicateScreen},
|
|
hasFprintd: ${boolToString (hostName == "wim")},
|
|
};
|
|
'';
|
|
}
|
|
);
|
|
};
|
|
};
|
|
|
|
# For accurate stack trace
|
|
_file = ./default.nix;
|
|
}
|