diff --git a/TODO.md b/TODO.md index 0bdc861..d370575 100644 --- a/TODO.md +++ b/TODO.md @@ -5,21 +5,9 @@ - [ ] connect matcha to my VPN - [ ] use matcha to build stuff instead of using my laptop +- [X] update bat config - [ ] switch to zsh? or maybe elvish? - [ ] switch to neovim - [ ] switch to mangowc - [ ] fix my fuck ass emojis - -# add sddm profile pic -systemd.tmpfiles.rules = let - imagePath = /${root}/homes/aurora/profile.png; - in - lib.mkIf (builtins.pathExists imagePath) [ - "L /var/lib/AccountsService/icons/${config.home.username} - - - - ${imagePath}" - ]; - - -# Cerulean should automatically add set home-managers `home.username` and `home.homeDirectory` -# (this can be done by using .extendModule from the nixos module system :3) - diff --git a/colors.rasi b/colors.rasi new file mode 100644 index 0000000..a36f6aa --- /dev/null +++ b/colors.rasi @@ -0,0 +1,20 @@ +* { + background: rgba(51,37,65,0.9); + foreground: rgba(198,186,227,0.9); + color00: rgba(78,66,70,0.9); + color01: rgba(111,91,159,0.9); + color02: rgba(120,98,164,0.9); + color03: rgba(131,128,181,0.9); + color04: rgba(154,127,183,0.9); + color05: rgba(157,129,185,0.9); + color06: rgba(123,153,183,0.9); + color07: rgba(165,148,207,0.9); + color08: rgba(115,103,145,0.9); + color09: rgba(129,102,193,0.9); + color10: rgba(140,112,199,0.9); + color11: rgba(145,141,218,0.9); + color12: rgba(170,126,217,0.9); + color13: rgba(174,130,220,0.9); + color14: rgba(135,181,228,0.9); + color15: rgba(165,148,207,0.9); +} diff --git a/flake.lock b/flake.lock index e79a42f..bcbce8e 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ ] }, "locked": { - "lastModified": 1773436376, - "narHash": "sha256-OUPRrprbgN27BXHuWkMAPSCfLLQ/uwpWghEfKYN2iAg=", + "lastModified": 1772292445, + "narHash": "sha256-4F1Q7U313TKUDDovCC96m/Za4wZcJ3yqtu4eSrj8lk8=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "43f10d24391692bba3d762931ee35e7f17f8e8b8", + "rev": "1dbbba659c1cef0b0202ce92cadfe13bae550e8f", "type": "github" }, "original": { @@ -422,11 +422,11 @@ ] }, "locked": { - "lastModified": 1772461003, - "narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=", + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "type": "github" }, "original": { @@ -451,11 +451,11 @@ ] }, "locked": { - "lastModified": 1772461523, - "narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=", + "lastModified": 1770511807, + "narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804", + "rev": "7c75487edd43a71b61adb01cae8326d277aab683", "type": "github" }, "original": { @@ -476,7 +476,7 @@ "hyprwayland-scanner": "hyprwayland-scanner", "hyprwire": "hyprwire", "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ], "pre-commit-hooks": "pre-commit-hooks", "systems": [ @@ -485,17 +485,17 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1774136452, - "narHash": "sha256-pSwj8WNWXMuZaDqCyhQwlngRD3JyNmZwldSe6UqWAos=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "bf31f642b08a8d8ca796a1b713285f2580805c2f", - "type": "github" + "lastModified": 1772862346, + "narHash": "sha256-cfzHdBAkACrE2kuFlVPub2W7qZwobsrHcmYhoKVLtdY=", + "ref": "refs/heads/main", + "rev": "b41882c169f589848f0efb10c88c1dad383af04b", + "revCount": 6999, + "type": "git", + "url": "https://tearforge.net/cry/Hyprland" }, "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" + "type": "git", + "url": "https://tearforge.net/cry/Hyprland" } }, "hyprland-guiutils": { @@ -531,11 +531,11 @@ ] }, "locked": { - "lastModified": 1772467975, - "narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=", + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", "type": "github" }, "original": { @@ -556,11 +556,11 @@ ] }, "locked": { - "lastModified": 1772460177, - "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -585,11 +585,11 @@ ] }, "locked": { - "lastModified": 1772459629, - "narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=", + "lastModified": 1771866172, + "narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "7615ee388de18239a4ab1400946f3d0e498a8186", + "rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41", "type": "github" }, "original": { @@ -637,11 +637,11 @@ ] }, "locked": { - "lastModified": 1772462885, - "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=", + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", "owner": "hyprwm", "repo": "hyprtoolkit", - "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", "type": "github" }, "original": { @@ -662,11 +662,11 @@ ] }, "locked": { - "lastModified": 1773948364, - "narHash": "sha256-S76omfIVQ1TpGiXFbqih6o6XcH3sA5+5QI+SXB4HvlY=", + "lastModified": 1771271487, + "narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "b85b779e3e3a1adcd9b098e3447cf48f9e780b35", + "rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d", "type": "github" }, "original": { @@ -687,11 +687,11 @@ ] }, "locked": { - "lastModified": 1772459835, - "narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=", + "lastModified": 1770501770, + "narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "0a692d4a645165eebd65f109146b8861e3a925e7", + "rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40", "type": "github" }, "original": { @@ -716,11 +716,11 @@ ] }, "locked": { - "lastModified": 1773074819, - "narHash": "sha256-qRqYnXiKoJLRTcfaRukn7EifmST2IVBUMZOeZMAc5UA=", + "lastModified": 1771606233, + "narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "f68afd0e73687598cc2774804fedad76693046f0", + "rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a", "type": "github" }, "original": { @@ -1206,11 +1206,11 @@ ] }, "locked": { - "lastModified": 1772893680, - "narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=", + "lastModified": 1772024342, + "narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "8baab586afc9c9b57645a734c820e4ac0a604af9", + "rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476", "type": "github" }, "original": { @@ -1512,11 +1512,11 @@ ] }, "locked": { - "lastModified": 1772669058, - "narHash": "sha256-XhnY0aRuDo5LT8pmJVPofPOgO2hAR7T+XRoaQxtNPzQ=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "906d0ac159803a7df2dc1f948df9327670380f69", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c6d00fb..4d6e468 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,9 @@ nt.url = "git+https://tearforge.net/cry/nt"; cerulean = { + # url = "github:cry128/cerulean/v0.2.5-alpha"; url = "github:cry128/cerulean/refactor/snowflake"; + # url = "/home/me/cry/mk/cerulean"; inputs = { nt.follows = "nt"; systems.follows = "systems"; @@ -40,10 +42,12 @@ }; hyprland = { - url = "github:hyprwm/Hyprland"; + # FUCK HYPRLAND + # url = "github:hyprwm/Hyprland/4152ac76d0813d9d0f67d2f04653a13fa6e17433"; + url = "git+https://tearforge.net/cry/Hyprland"; inputs = { - nixpkgs.follows = "nixpkgs-unstable"; + nixpkgs.follows = "nixpkgs"; systems.follows = "systems"; }; }; diff --git a/homes/modules/wm/hyprland/default.nix b/homes/modules/wm/hyprland/default.nix index e82b8ee..ee7ff2d 100755 --- a/homes/modules/wm/hyprland/default.nix +++ b/homes/modules/wm/hyprland/default.nix @@ -1,18 +1,10 @@ # NOTE: hyprland must be enabled in BOTH your host config (for running hyprland) # NOTE: and your home-manager config (for managing hyprland's config files) -{ - hostname, - pkgs, - ... -}: { +{...}: { imports = [ ./kanshi.nix ]; - home.packages = with pkgs; [ - playerctl - ]; - wayland.windowManager.hyprland = { enable = true; package = null; @@ -20,357 +12,15 @@ xwayland.enable = true; - # systemd= { + # systemd = { # enable = true; # # enable autostart of applications # # REF: `man 8 systemd-xdg-autostart-generator` # enableXdgAutostart = true; # }; - settings = { - "$MOD" = "ALT"; - - # applications - "$editor" = "hx"; - "$terminal" = "foot"; - "$menu" = "fuzzel"; - "$colorpicker" = "hyprpicker | head -c 7 | wl-copy"; - "$screenshot_region" = "hyprshot -m region --clipboard-only"; - "$screenshot_window" = "hyprshot -m window --clipboard-only"; - "$cursorLock" = "~/scripts/bin/hyprland-cursor-lock"; - - # startup programs - exec-once = [ - "mako &" - "awww-daemon &" - - # "wl-paste --type text --watch cliphist store" - # "wl-paste --type image --watch cliphist store" - # "wl-clip-persist --clipboard regular" - # "playerctld daemon" - - "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" - ]; - - # monitor configuration - monitor = - if hostname == "lolcathost" - then [ - "eDP-1, highres@highrr, 0x0, 1.0" # Programming - # "eDP-1, highres@highrr, 0x0, 1.5" # Comfy - ] - else if hostname == "myputer" - then [ - "DP-2, 3840x2160@59.99700, 0x0, 1.5" - "HDMI-A-1, 1920x1080@119.98Hz, 2560x0, 1.0" - ] - else []; - - # .__. .___ __..___. . . .___ .___. ._. __ __. - # [__] [__ (__ | |__| [__ | | / ` (__ - # | | [___ .__) | | | [___ | _|_ \__. .__) - general = { - gaps_in = 12; # margin between windows - gaps_out = 25; # margin from windows to monitor edge - gaps_workspaces = 0; # margin between workspaces (stacks with gaps_out) - # float_gaps = 0; # gaps_out but for floating windows - - border_size = 4; - - "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.inactive_border" = "rgba(00000000)"; - - # Enable resizing windows by clicking and dragging the border - resize_on_border = true; - - # REF: https://wiki.hyprland.org/Configuring/Tearing/ - allow_tearing = false; - - layout = "dwindle"; - - snap = { - enabled = false; - window_gap = 10; - monitor_gap = 10; - border_overlap = false; - # respect_gaps = false; - }; - }; - - decoration = { - rounding = 20; - rounding_power = 4.0; # Lp norm - border_part_of_window = true; # consider border as part of its window - # screen_shader = ...; # path to custom GLSL fragment shader - - # window Transparency - active_opacity = 1.0; - inactive_opacity = 0.95; - fullscreen_opacity = 1.0; # fullscreened windows - # inactive Window Dimming - dim_inactive = false; - dim_strength = 0.5; - dim_special = 0.2; - dim_around = 0.4; - - blur = { - enabled = true; - new_optimizations = true; - xray = false; # floating windows xray through tiling windows - ignore_opacity = true; - - # blur Parameters - size = 8; - passes = 1; - noise = 0.0117; # default - contrast = 0.8916; # default - brightness = 0.8172; # default - vibrancy = 0.1696; # default - vibrancy_darkness = 0.0; # default - - # blurring For Specific Window Types - special = false; # blur special windows - popups = false; # blur popups - popups_ignorealpha = 0.2; - input_methods = false; - input_methods_ignorealpha = 0.2; - }; - - shadow = { - enabled = true; - ignore_window = true; # only render at edges (not behind) - - range = 3; - render_power = 1; # falloff rate - sharp = false; # aka infinite shadow.render_power - offset = "0 0"; # vec2 - scale = 1.0; - - color = "rgba(00000000)"; - color_inactive = "rgba(000000ff)"; # defaults to shadow.color if unset - }; - }; - - # REF: https://cubic-bezier.com - bezier = [ - "easeOutQuint,0.23,1,0.32,1" - "easeInOutCubic,0.65,0.05,0.36,1" - "linear,0,0,1,1" - "almostLinear,0.5,0.5,0.75,1.0" - "quick,0.15,0,0.1,1" - ]; - - # REF: https://wiki.hyprland.org/Configuring/Animations - # Animation Declaration Format: - # "animation = NAME, ENABLE, SPEED, BEZIER [,STYLE]" - # NOTE: SPEED is in ds (where 1ds = 100ms) - animations = [ - "global, 1, 10, default" - "border, 1, 5.39, easeOutQuint" - - "windowsIn, 1, 4, linear, slide bottom" - "windowsOut, 1, 10, linear, popin" - - "fadeIn, 1, 1.73, almostLinear" - "fadeOut, 1, 1.46, almostLinear" - "fade, 1, 3.03, quick" - - "layers, 1, 3.81, easeOutQuint" - "layersIn, 1, 4, easeOutQuint, fade" - "layersOut, 1, 1.5, linear, fade" - - "fadeLayersIn, 1, 1.79, almostLinear" - "fadeLayersOut, 1, 1.39, almostLinear" - - "workspaces, 1, 1.94, almostLinear, fade" - "workspacesIn, 1, 1.21, almostLinear, fade" - "workspacesOut, 1, 1.94, almostLinear, fade" - ]; - - # REF: https://wiki.hyprland.org/Configuring/Dwindle-Layout - dwindle = { - # master switch for pseudotiling. enabling is bound to MOD + P in the keybinds section below - pseudotile = true; - preserve_split = true; # You probably want this - }; - - # REF: https://wiki.hyprland.org/Configuring/Master-Layout - master = { - new_status = "master"; - }; - - misc = { - #force_default_wallpaper = -1; # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = true; - disable_splash_rendering = true; - - enable_anr_dialog = false; - font_family = "Geist Mono"; - }; - - input = { - # kb_layout = "us"; - # kb_variant = - # kb_model = - # kb_options = - # kb_rules = - - follow_mouse = 1; - - sensitivity = 0; # -1.0 - 1.0, 0 means no modification - accel_profile = "flat"; - force_no_accel = false; # not recommended to turn on - - repeat_rate = 50; - repeat_delay = 300; - - touchpad = { - natural_scroll = hostname == "lolcathost"; - }; - }; - - cursor.no_hardware_cursors = true; - - # standard keypress bindings - bind = [ - # terminal commands - "$MOD, RETURN, exec, $terminal" - "$MOD SHIFT, RETURN, exec, $terminal -D `[ -f ~/cry/.projdir ] && cat ~/cry/.projdir || echo ~`" - - # btop - "$MOD, P, exec, bash -c \"{ hyprctl clients | rg '^\w*title: btop' &>/dev/null; } && hyprctl dispatch closewindow title:btop || $terminal -T btop btop & disown\"" - - "$MOD, R, exec, $menu" - - # lock mouse to window (mostly, for gaming) - "$MOD, F1, exec, pkill hyprland-cursor || $cursorLock" - "$MOD, F2, exec, $colorpicker" - - # screenshots - "$MOD, S, exec, $screenshot_region" - "$MOD SHIFT, S, exec, $screenshot_window" - - "$MOD, F, fullscreen" - "$MOD SHIFT, F, fullscreenstate, 0 3" # fakefullscreen - "$MOD, C, killactive" - "$MOD SHIFT, Delete, exit" - - # switch window - "$MOD, left, movefocus, l" - "$MOD, right, movefocus, r" - "$MOD, up, movefocus, u" - "$MOD, down, movefocus, d" - "$MOD, H, movefocus, l" - "$MOD, J, movefocus, d" - "$MOD, K, movefocus, u" - "$MOD, L, movefocus, r" - - # switch workspaces - "$MOD, 1, workspace, 1" - "$MOD, 2, workspace, 2" - "$MOD, 3, workspace, 3" - "$MOD, 4, workspace, 4" - "$MOD, 5, workspace, 5" - "$MOD, 6, workspace, 6" - "$MOD, 7, workspace, 7" - "$MOD, 8, workspace, 8" - "$MOD, 9, workspace, 9" - "$MOD, 0, workspace, 10" - "$MOD SHIFT, left, workspace, e-1" - "$MOD SHIFT, right, workspace, e+1" - - # move window to workspace - "$MOD SHIFT, 1, movetoworkspace, 1" - "$MOD SHIFT, 2, movetoworkspace, 2" - "$MOD SHIFT, 3, movetoworkspace, 3" - "$MOD SHIFT, 4, movetoworkspace, 4" - "$MOD SHIFT, 5, movetoworkspace, 5" - "$MOD SHIFT, 6, movetoworkspace, 6" - "$MOD SHIFT, 7, movetoworkspace, 7" - "$MOD SHIFT, 8, movetoworkspace, 8" - "$MOD SHIFT, 9, movetoworkspace, 9" - "$MOD SHIFT, 0, movetoworkspace, 10" - - # move workspace to monitor - "$MOD TAB, 1, movecurrentworkspacetomonitor, DP-2" - "$MOD TAB, 2, movecurrentworkspacetomonitor, HDMA-A-1" - ]; - - # bindings for mouse - bindm = [ - "$MOD, mouse:272, movewindow" - "$MOD, mouse:273, resizewindow" - ]; - - # bindings that work even while screen is locked - bindl = [ - # WARNING: requires `pkgs.playerctl` - ", XF86AudioNext, exec, playerctl next" - ", XF86AudioPause, exec, playerctl play-pause" - ", XF86AudioPlay, exec, playerctl play-pause" - ", XF86AudioPrev, exec, playerctl previous" - ]; - - # bindings that work even while screen is locked - # and also repeat when the key is held - bindel = [ - ",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" - ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" - ",XF86MonBrightnessUp, exec, brightnessctl s 10%+" - ",XF86MonBrightnessDown, exec, brightnessctl s 10%-" - ]; - - windowrule = [ - # btop process manager - { - name = "terminal-manager"; - "match:class" = "^(foot)$"; - "match:title" = "^(btop)$"; - float = true; - center = true; - size = "(monitor_w*0.65) (monitor_h*0.65)"; - } - - # ignore maximize requests from apps - { - name = "suppress-maximize"; - suppress_event = "maximize"; - "match:class" = ".*"; - } - - # fix some dragging issues with XWayland - { - name = "no-focus"; - no_focus = "on"; - "match:class" = "^$"; - "match:title" = "^$"; - "match:xwayland" = true; - "match:float" = true; - "match:fullscreen" = false; - "match:pin" = false; - } - - # TODO: style fakefullscreen windows to clearly indicate their difference - # { - # name = "fake-fullscreen"; - # } - ]; - - # █▀▀ █▄░█ █░█   █░█ ▄▀█ █▀█ - # ██▄ █░▀█ ▀▄▀   ▀▄▀ █▀█ █▀▄ - env = [ - "XCURSOR_THEME,Bibata-Modern-Ice" - "XCURSOR_SIZE,16" - "HYPRCURSOR_THEME,Bibata-Modern-Ice" - "HYPRCURSOR_SIZE,16" - - "QT_QPA_PLATFORM,wayland" - "QT_QPA_PLATFORMTHEME,xdgdesktopportal" # makes portals work correctly - "XDG_MENU_PREFIX,arch-" - "XDG_CURRENT_DESKTOP,Hyprland" - ]; - }; + # plugins = with inputs; [ + # split-monitor-workspaces.packages.${pkgs.system}.split + # ]; }; } diff --git a/overlays/default.nix b/overlays/default.nix index dfeb277..cf79fa8 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -52,7 +52,7 @@ lib.mkIf (inputs?hyprland) (inputs.hyprland.packages.${system}.hyprland.overrideAttrs (final: prev: { patches = let - glaze_version = inputs.hyprland.inputs.nixpkgs.legacyPackages.glaze.version; + glaze_version = pkgs.glaze.version; in prev.patches ++ [ diff --git a/patches b/patches new file mode 100644 index 0000000..6607af5 --- /dev/null +++ b/patches @@ -0,0 +1,11 @@ +# add sddm profile pic +systemd.tmpfiles.rules = let + imagePath = /${root}/homes/aurora/profile.png; + in + lib.mkIf (builtins.pathExists imagePath) [ + "L /var/lib/AccountsService/icons/${config.home.username} - - - - ${imagePath}" + ]; + + +# Cerulean should automatically add set home-managers `home.username` and `home.homeDirectory` +# (this can be done by using .extendModule from the nixos module system :3)