add river config
This commit is contained in:
parent
6af792a0e9
commit
ffa2bac00b
3 changed files with 89 additions and 0 deletions
22
chezmoi/dot_config/river/executable_init
Normal file
22
chezmoi/dot_config/river/executable_init
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#! /usr/bin/env lua
|
||||
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Add river config folder to Lua Path │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local config_dir = os.getenv("XDG_CONFIG_HOME") or os.getenv("HOME") .. "/.config/"
|
||||
local river_config_dir = config_dir .. "river/"
|
||||
package.path = river_config_dir .. '?.lua;' .. river_config_dir .. '?/init.lua;' .. package.path
|
||||
|
||||
local River = require('river')
|
||||
local Logger = require('logger')
|
||||
|
||||
local logger = Logger:new()
|
||||
logger:log("Initializing River configuration from Lua")
|
||||
|
||||
local river = River:new()
|
||||
|
||||
river:exec([[riverctl spawn "swaybg -i $HOME/Pictures/Minimalist__cron.png"]])
|
||||
|
||||
logger:close()
|
||||
48
chezmoi/dot_config/river/logger.lua
Normal file
48
chezmoi/dot_config/river/logger.lua
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
--- Logger interface
|
||||
---@class Logger
|
||||
---@field available_outputs table<string, file*> Available outputs to use in the logger
|
||||
---@field output file* The open file to write to
|
||||
local Logger = {
|
||||
available_outputs = {
|
||||
stdout = io.stdout
|
||||
},
|
||||
}
|
||||
|
||||
Logger.__index = Logger
|
||||
|
||||
--- Create a new logger instance
|
||||
---@param output? file* io.stdout by default, [see Logger.available_outputs](lua://Logger.available_outputs) for possible values
|
||||
---@return Logger
|
||||
function Logger:new(output)
|
||||
local obj = {
|
||||
output = output or Logger.available_outputs.stdout
|
||||
}
|
||||
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
|
||||
self:open()
|
||||
|
||||
return obj
|
||||
end
|
||||
|
||||
function Logger:open()
|
||||
self:log("\n\n\n")
|
||||
self:log("Opening logger...")
|
||||
end
|
||||
|
||||
function Logger:close()
|
||||
self:log("Closing logger...")
|
||||
self:log("\n\n\n")
|
||||
self.output:close()
|
||||
end
|
||||
|
||||
--- Write data to ouput, it passes the arguments directly to file:write(...)
|
||||
---@param ... string|number the data to write
|
||||
function Logger:log(...)
|
||||
self.output:write(arg)
|
||||
self.output:write("\n")
|
||||
self.output:flush()
|
||||
end
|
||||
|
||||
return Logger
|
||||
19
chezmoi/dot_config/river/river.lua
Normal file
19
chezmoi/dot_config/river/river.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
local River = {}
|
||||
|
||||
River.__index = River
|
||||
|
||||
function River:new(new)
|
||||
local obj = new or {}
|
||||
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
|
||||
return obj
|
||||
end
|
||||
|
||||
function River:exec(args)
|
||||
print("Executing: " .. args)
|
||||
os.execute(args)
|
||||
end
|
||||
|
||||
return River
|
||||
Loading…
Add table
Add a link
Reference in a new issue