Compare commits

...

2 commits

Author SHA1 Message Date
6028e3679a refactor(ags): make global module 2023-11-30 17:17:34 -05:00
b4648912f5 refactor: small changes 2023-11-30 17:01:46 -05:00
10 changed files with 72 additions and 87 deletions

1
.gitignore vendored
View file

@ -3,3 +3,4 @@
*node_modules/ *node_modules/
*package-lock.json *package-lock.json
**/ags/style.css **/ags/style.css
result*

View file

@ -56,11 +56,16 @@
}; };
environment.variables.FLAKE = "/home/matt/.nix"; environment.variables.FLAKE = "/home/matt/.nix";
services.xserver = { services = {
fwupd.enable = true;
xserver = {
layout = "ca"; layout = "ca";
xkbVariant = "multix"; xkbVariant = "multix";
}; };
};
home-manager.users = let home-manager.users = let
default = { default = {
imports = [ imports = [

View file

@ -2,6 +2,7 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/ags
../../modules/audio.nix ../../modules/audio.nix
../../modules/greetd ../../modules/greetd
../../modules/kmscon.nix ../../modules/kmscon.nix
@ -30,7 +31,6 @@
"input" "input"
"uinput" "uinput"
"adm" "adm"
"mlocate"
"video" "video"
"libvirtd" "libvirtd"
]; ];
@ -42,7 +42,6 @@
../../home/firefox ../../home/firefox
../../home/hyprland ../../home/hyprland
./home/ags.nix
./home/packages.nix ./home/packages.nix
]; ];

View file

@ -1,31 +0,0 @@
{
pkgs,
config,
ags,
...
}: let
configDir = config.services.device-vars.configDir;
symlink = config.lib.file.mkOutOfStoreSymlink;
in {
imports = [
ags.homeManagerModules.default
];
programs.ags = {
enable = true;
configDir = symlink "${configDir}/ags";
package = ags.packages.x86_64-linux.default;
extraPackages = [pkgs.libgudev];
};
home.packages = with pkgs; [
# ags
sassc
coloryou
playerctl
## gui
pavucontrol # TODO: replace with ags widget
networkmanagerapplet # TODO: replace with ags widget
];
}

View file

@ -16,7 +16,6 @@
extraGroups = [ extraGroups = [
"wheel" "wheel"
"adm" "adm"
"mlocate"
]; ];
}; };
home-manager.users = { home-manager.users = {

View file

@ -2,6 +2,7 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/ags
../../modules/audio.nix ../../modules/audio.nix
../../modules/greetd ../../modules/greetd
../../modules/kmscon.nix ../../modules/kmscon.nix
@ -27,7 +28,6 @@
"input" "input"
"uinput" "uinput"
"adm" "adm"
"mlocate"
"video" "video"
"libvirtd" "libvirtd"
]; ];
@ -41,7 +41,6 @@
./home/dotfiles.nix ./home/dotfiles.nix
./home/packages.nix ./home/packages.nix
./home/ags.nix
]; ];
# No touchy # No touchy

View file

@ -1,47 +0,0 @@
{
pkgs,
config,
ags,
...
}: let
configDir = config.services.device-vars.configDir;
symlink = config.lib.file.mkOutOfStoreSymlink;
in {
imports = [
ags.homeManagerModules.default
];
programs.ags = {
enable = true;
configDir = symlink "${configDir}/ags";
package = ags.packages.x86_64-linux.default;
extraPackages = [pkgs.libgudev];
};
wayland.windowManager.hyprland = {
settings = {
env = [
"AGS_PATH, ${configDir}/ags/bin"
"HYPR_PATH, ${configDir}/hypr/scripts"
"LOCK_PATH, ${configDir}/gtklock/scripts"
];
};
};
home.packages = with pkgs; [
# ags
ydotool
sassc
coloryou
playerctl
## gui
pavucontrol # TODO: replace with ags widget
networkmanagerapplet # TODO: replace with ags widget
blueberry # TODO: replace with ags widget
# touchscreen
lisgd
squeekboard
];
}

View file

@ -6,6 +6,16 @@
configDir = config.services.device-vars.configDir; configDir = config.services.device-vars.configDir;
symlink = config.lib.file.mkOutOfStoreSymlink; symlink = config.lib.file.mkOutOfStoreSymlink;
in { in {
wayland.windowManager.hyprland = {
settings = {
env = [
"AGS_PATH, ${configDir}/ags/bin"
"HYPR_PATH, ${configDir}/hypr/scripts"
"LOCK_PATH, ${configDir}/gtklock/scripts"
];
};
};
xdg.configFile = { xdg.configFile = {
"gtklock/config.ini".source = pkgs.writeText "config.ini" '' "gtklock/config.ini".source = pkgs.writeText "config.ini" ''
[main] [main]

View file

@ -11,6 +11,7 @@
symlink = config.lib.file.mkOutOfStoreSymlink; symlink = config.lib.file.mkOutOfStoreSymlink;
optionals = lib.lists.optionals; optionals = lib.lists.optionals;
isNvidia = osConfig.hardware.nvidia.modesetting.enable; isNvidia = osConfig.hardware.nvidia.modesetting.enable;
isTouchscreen = osConfig.hardware.sensor.iio.enable;
gset = pkgs.gsettings-desktop-schemas; gset = pkgs.gsettings-desktop-schemas;
polkit = pkgs.plasma5Packages.polkit-kde-agent; polkit = pkgs.plasma5Packages.polkit-kde-agent;
@ -31,7 +32,7 @@ in {
plugins = plugins =
[] []
++ (optionals (osConfig.hardware.sensor.iio.enable) [ ++ (optionals (isTouchscreen) [
hyprgrass.packages.${pkgs.system}.default hyprgrass.packages.${pkgs.system}.default
]); ]);

49
modules/ags/default.nix Normal file
View file

@ -0,0 +1,49 @@
{
ags,
config,
pkgs,
...
}: let
vars = config.services.device-vars;
isNvidia = config.hardware.nvidia.modesetting.enable;
isTouchscreen = config.hardware.sensor.iio.enable;
in {
services.upower.enable = true;
home-manager.users.${vars.username}.imports = [
ags.homeManagerModules.default
({
config,
lib,
...
}: let
symlink = config.lib.file.mkOutOfStoreSymlink;
optionals = lib.lists.optionals;
in {
programs.ags = {
enable = true;
configDir = symlink "${vars.configDir}/ags";
package = ags.packages.x86_64-linux.default;
extraPackages = [pkgs.libgudev];
};
home.packages = with pkgs;
[
# ags
sassc
coloryou
playerctl
## gui
pavucontrol # TODO: replace with ags widget
networkmanagerapplet # TODO: replace with ags widget
]
++ (optionals isTouchscreen [
# touchscreen
lisgd
squeekboard
]);
})
];
}