From c3fd340fa6245dfe6926c8ed4208d38db1825f28 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Fri, 8 Mar 2024 13:04:40 +0100 Subject: [PATCH] integrate ConfgenFS --- .config/hypr/hyprland.conf.cgt | 2 ++ .config/systemd/user/confgenfs.service.cgt | 9 +++++++++ cg_opts.lua | 3 --- confgen.lua | 15 ++++++++++----- scripts/mzteriver/src/init.zig | 19 +++++++++++++++++++ 5 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 .config/systemd/user/confgenfs.service.cgt diff --git a/.config/hypr/hyprland.conf.cgt b/.config/hypr/hyprland.conf.cgt index 5422fb4..9e206f5 100644 --- a/.config/hypr/hyprland.conf.cgt +++ b/.config/hypr/hyprland.conf.cgt @@ -81,6 +81,8 @@ env = __GLX_VENDOR_LIBRARY_NAME, nvidia env = WLR_NO_HARDWARE_CURSORS, 1 +exec-once = echo 'cg.opt.setCurrentWaylandCompositor "hyprland"' >~/confgenfs/_cgfs/eval + exec-once = waybar exec-once = wlbg exec-once = sleep 1 && randomwallpaper diff --git a/.config/systemd/user/confgenfs.service.cgt b/.config/systemd/user/confgenfs.service.cgt new file mode 100644 index 0000000..f02e31b --- /dev/null +++ b/.config/systemd/user/confgenfs.service.cgt @@ -0,0 +1,9 @@ +[Unit] +Description=ConfgenFS dotfiles + +[Service] +Type=exec +ExecStart=<% opt.system "which confgenfs" %> "<% opt.dev_dir %>/dotfiles/confgen.lua" "<% os.getenv "HOME" %>/confgenfs" + +[Install] +WantedBy=default.target diff --git a/cg_opts.lua b/cg_opts.lua index a967053..b8f5c5b 100644 --- a/cg_opts.lua +++ b/cg_opts.lua @@ -41,9 +41,6 @@ opts.cursor = { -- hwmon temperature path for CPU temp used by waybar opts.cpu_temp_hwmon = "/sys/class/hwmon/hwmon0/temp1_input" --- used in waybar config -opts.wayland_compositor = nil - opts.gtk_theme = "Catppuccin-Mocha-Standard-Red-Dark" opts.icon_theme = "candy-icons" diff --git a/confgen.lua b/confgen.lua index 658df8f..109fe4f 100644 --- a/confgen.lua +++ b/confgen.lua @@ -19,11 +19,6 @@ cg.onDone(function(errors) cg.opt.system("gsettings set org.gnome.desktop.interface cursor-theme " .. cg.opt.cursor.theme) cg.opt.system("gsettings set org.gnome.desktop.interface cursor-size " .. cg.opt.cursor.size) cg.opt.system('gsettings set org.gnome.desktop.interface font-name "' .. cg.opt.font .. ' 11"') - if cg.opt.wayland_compositor == "river" then - cg.opt.system 'gsettings set org.gnome.desktop.wm.preferences button-layout ""' - else - cg.opt.system "gsettings reset org.gnome.desktop.wm.preferences button-layout" - end end end) @@ -102,6 +97,16 @@ cg.opt.fileExists = function(path) return false end +-- Set the currently active wayland compositor. Updates options for templates as well as gsettings. +cg.opt.setCurrentWaylandCompositor = function(comp) + cg.opt.wayland_compositor = comp + if comp == "river" then + cg.opt.system 'gsettings set org.gnome.desktop.wm.preferences button-layout ""' + else + cg.opt.system "gsettings reset org.gnome.desktop.wm.preferences button-layout" + end +end + cg.opt = merge(cg.opt, require "cg_opts") local local_opts = loadfile(os.getenv "HOME" .. "/.config/mzte_localconf/opts.lua") diff --git a/scripts/mzteriver/src/init.zig b/scripts/mzteriver/src/init.zig index 53c1b18..5eb4f7d 100644 --- a/scripts/mzteriver/src/init.zig +++ b/scripts/mzteriver/src/init.zig @@ -177,6 +177,25 @@ pub fn init(alloc: std.mem.Allocator) !void { log.info("configuration finished, spawning processes", .{}); + // tell confgenfs we're now using river + confgenfs: { + const cgfs_eval_path = try std.fs.path.join( + alloc, + &.{ home, "confgenfs", "_cgfs", "eval" }, + ); + defer alloc.free(cgfs_eval_path); + + const evalf = std.fs.cwd().openFile(cgfs_eval_path, .{ .mode = .write_only }) catch { + std.log.warn("unable to open confgenfs eval file", .{}); + break :confgenfs; + }; + defer evalf.close(); + + try evalf.writeAll( + \\cg.opt.setCurrentWaylandCompositor "river" + ); + } + var child_arena = std.heap.ArenaAllocator.init(alloc); defer child_arena.deinit();