NixDaemon

NixOS pentest workstation as one flake — IceBreaker's successor
git clone https://git.daemon-sec.xyz/NixDaemon.git
Log | Files | Refs | README

core.lua (2151B)


      1 -- core.lua — compositor settings for the Valeon II 17.
      2 --
      3 -- Stock Hyprland except what the migration prompt pins: panel mode and scale,
      4 -- keyboard options, square corners, blur on, Rosé Pine borders, the stock
      5 -- Caelestia layer rules. The animation rice from the old looknfeel.lua is
      6 -- deliberately not carried.
      7 
      8 -- Panel at 1.25; anything plugged in later gets its preferred mode.
      9 hl.monitor({ output = "eDP-1", mode = "2560x1440@240", position = "0x0", scale = 1.25 })
     10 hl.monitor({ output = "", mode = "preferred", position = "auto", scale = 1 })
     11 
     12 -- Cursor theme files come from the dotfiles checkout (home/modules/tools.nix).
     13 hl.env("XCURSOR_THEME", "modernxp-retro-black")
     14 hl.env("XCURSOR_SIZE", "24")
     15 hl.env("HYPRCURSOR_THEME", "modernxp-retro-black-hyprcursor")
     16 hl.env("HYPRCURSOR_SIZE", "24")
     17 
     18 hl.config({
     19   general = {
     20     gaps_in = 5, -- Hyprland defaults, stated because the gaps toggle restores them
     21     gaps_out = 20,
     22     col = {
     23       -- Rosé Pine: love → iris at 45°; inactive the stock grey
     24       active_border = { colors = { "rgba(eb6f92ee)", "rgba(c4a7e7ee)" }, angle = 45 },
     25       inactive_border = "rgba(595959aa)",
     26     },
     27     layout = "dwindle",
     28   },
     29   decoration = {
     30     rounding = 0,
     31     blur = { enabled = true },
     32   },
     33   dwindle = { preserve_split = true },
     34   input = {
     35     kb_layout = "us",
     36     kb_options = "compose:caps,shift:both_capslock_cancel",
     37     follow_mouse = 1,
     38   },
     39   misc = {
     40     force_default_wallpaper = 0,
     41     disable_hyprland_logo = true,
     42   },
     43 })
     44 
     45 -- Stock Caelestia layer rules (caelestia-dots/caelestia, hypr/hyprland/rules.lua).
     46 -- The blur / ignore_alpha rule for ^caelestia- is in caelestia.lua, as carried.
     47 hl.layer_rule({ match = { namespace = "caelestia-(border-exclusion|area-picker)" }, no_anim = true })
     48 hl.layer_rule({ match = { namespace = "caelestia-(drawers|background)" }, animation = "fade" })
     49 
     50 hl.on("hyprland.start", function()
     51   -- uwsm waits for the compositor to hand over its environment
     52   -- (HYPRLAND_INSTANCE_SIGNATURE and friends) before graphical-session.target.
     53   hl.exec_cmd("uwsm finalize")
     54   hl.exec_cmd("hyprctl setcursor modernxp-retro-black-hyprcursor 24")
     55 end)