128 lines
3.2 KiB
Nix
128 lines
3.2 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";
|
|
};
|
|
};
|
|
|
|
settings = mkOption {
|
|
type = types.attrsOf types.str;
|
|
default = {};
|
|
};
|
|
};
|
|
|
|
config = let
|
|
cfg = config.programs.aurora;
|
|
|
|
system = pkgs.stdenv.hostPlatform.system;
|
|
in {
|
|
|
|
home.packages = with pkgs; [
|
|
awww
|
|
|
|
bluez
|
|
bluez-tools
|
|
|
|
wl-clipboard
|
|
|
|
brightnessctl
|
|
|
|
hyprpicker
|
|
|
|
hyprsunset
|
|
|
|
wf-recorder
|
|
|
|
self.packages.${system}.aurora-set-wallpaper
|
|
];
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
home.file.".config/aurora/settings.json".text = builtins.toJSON cfg.settings;
|
|
|
|
systemd.user.services.quickshell.Service.Environment = [ "AURORA_SETTINGS=${config.home.homeDirectory}/${config.home.file.".config/aurora/settings.json".target}" ];
|
|
};
|
|
};
|
|
}
|