Files
Aurora/config/aurora/default.nix
2026-03-29 13:16:40 -05:00

117 lines
2.7 KiB
Nix

{ self, inputs, ... }: {
imports = [
inputs.home-manager.flakeModules.home-manager
];
perSystem = { self', pkgs, system, ... }: {
packages = {
aurora = pkgs.writeShellScriptBin "aurora" ''
${pkgs.quickshell}/bin/quickshell "''$@"
'';
aurora-dots = pkgs.stdenv.mkDerivation {
name = "aurora-dots";
src = ./.;
buildInputs = [];
buildPhase = ''
'';
installPhase = ''
mkdir -p $out/share
cp -r $src/* $out/share
'';
};
default = self'.packages.aurora;
};
};
flake.nixosModules.default = { config, lib, pkgs, ... }: {
config = {
services = {
upower.enable = true;
gvfs.enable = true;
power-profiles-daemon.enable = true;
};
environment.etc."pam.d/aurora-lock.conf".text = ''
auth required pam_unix.so
'';
};
};
flake.homeModules.default = { config, lib, pkgs, ... }: {
options.programs.aurora = with lib; {
enable = mkEnableOption "aurora";
package = mkPackageOption self.packages.${pkgs.stdenv.hostPlatform.system} "aurora" {
default = [ "aurora" ];
example = ''aurora.packages."x86_64-linux".hybar'';
};
systemd = {
enable = mkEnableOption "aurora systemd unit";
target = mkOption {
type = types.str;
default = "hyprland-session.target";
};
};
};
config = let
cfg = config.programs.aurora;
system = pkgs.stdenv.hostPlatform.system;
in {
home.packages = with pkgs; [
swww
bluez
bluez-tools
wl-clipboard
brightnessctl
hyprpicker
hyprsunset
wf-recorder
];
programs.quickshell = {
enable = cfg.enable;
package = cfg.package;
activeConfig = "aurora";
configs = {
default = "${self.packages.${system}.aurora-dots}/share";
aurora = "${self.packages.${system}.aurora-dots}/share";
hybar = "${self.packages.${system}.hybar-dots}/share";
};
systemd = {
enable = cfg.systemd.enable;
target = cfg.systemd.target;
};
};
};
};
}