Kieran's opinionated (and probably slightly dumb) nix config
1{
2 lib,
3 pkgs,
4 config,
5 ...
6}:
7{
8 options.atelier.wm.hyprland.enable = lib.mkEnableOption "Enable Hyprland config";
9 config = lib.mkIf config.atelier.wm.hyprland.enable {
10 atelier.apps.tofi.enable = true;
11 programs.hyprlock.enable = true;
12
13 atelier.wallpapers.enable = true;
14
15 xdg.configFile."hypr/macchiato.conf".source = ../../../../dots/macchiato.conf;
16 xdg.configFile."hypr/hyprland.conf".source = ../../../../dots/hyprland.conf;
17 xdg.configFile."hypr/prettify-ss.sh".source = ../../../../dots/prettify-ss.sh;
18 xdg.configFile."hypr/tofi-emoji.sh".source = ../../../../dots/tofi-emoji.sh;
19 xdg.configFile."hypr/hyprlock.conf".source = ../../../../dots/hyprlock.conf;
20 xdg.configFile."face.jpeg".source = ../../../../dots/face.jpeg;
21 xdg.configFile."hypr/hyprpaper.conf".source = ../../../../dots/hyprpaper.conf;
22 xdg.configFile."hypr/hyprrec.sh".source = ../../../../dots/hyprrec.sh;
23 xdg.configFile."hypr/charge-alert.sh".source = ../../../../dots/charge-alert.sh;
24
25 xdg.portal = {
26 enable = true;
27 extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
28 configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
29 };
30
31 services.mako = {
32 enable = true;
33 settings = {
34 default-timeout = 4000;
35 margin = "58,6";
36 font = "Fira Sans 12";
37 border-radius = 5;
38 };
39 };
40
41 services.udiskie = {
42 enable = true;
43 settings = {
44 program_options = {
45 udisks_version = 2;
46 tray = false;
47 };
48 notifications = {
49 device_unmounted = false;
50 device_added = -1;
51 device_removed = -1;
52 device_mounted = -1;
53 };
54 };
55 };
56 };
57}