go crazy aaaa go stupid

This commit is contained in:
ngoomie 2023-05-25 20:15:43 -06:00
parent 4f85d44623
commit 4cc5ac749a
22 changed files with 936 additions and 421 deletions

147
.gitignore vendored
View File

@ -1,156 +1,25 @@
# ---> Linux
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
# ---> Perl
!Build/
.last_cover_stats
/META.yml
/META.json
/MYMETA.*
*.o
*.pm.tdy
*.bs
# Devel::Cover
cover_db/
# Devel::NYTProf
nytprof.out
# Dist::Zilla
/.build/
# Module::Build
_build/
Build
Build.bat
# Module::Install
inc/
# ExtUtils::MakeMaker
/blib/
/_eumm/
/*.gz
/Makefile
/Makefile.old
/MANIFEST.bak
/pm_to_blib
/*.zip
# ---> Lua
# Compiled Lua sources
luac.out
# luarocks build files
*.src.rock
*.zip
*.tar.gz
# Object files
*.o
*.os
*.ko
*.obj
*.elf
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
*.def
*.exp
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# ---> Windows
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# ---> macOS
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# awesome widgets/modules/etc that should not be included
# ---> awesomewm
awesome/awesome-wm-widgets/
awesome/cyclefocus/
# VS Code
.vscode/
# ---> fish/oh my fish
fish/bundle
fish/channel
# ---> rofi
# plain dumped theme that only serves as a reference
rofi/theme.rasi

18
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,18 @@
{
"cSpell.ignoreWords": [
"byidx",
"drun",
"filebrowser",
"incmwfact",
"incncol",
"incnmaster",
"jumpto",
"mainmenu",
"moveresize",
"mypromptbox",
"rclick",
"textbox",
"viewnext",
"viewprev"
]
}

View File

@ -1,4 +1,4 @@
# dotfiles
A collection of my dotfiles and other miscellaneous configs and scripts and whatnot
Unless mentioned otherwise, everything here is licensed under MIT
Unless mentioned otherwise, everything here is licensed under MIT

View File

@ -24,11 +24,6 @@ window:
# General application class
general: Alacritty
# Override the variant of the System theme/GTK theme/Wayland client side
# decorations. Commonly supported values are `Dark`, `Light`, and `None` for
# auto pick-up. Set this to `None` to use the default theme variant.
#decorations_theme_variant: None
scrolling:
history: 150
transparent_background_colors: true

View File

@ -1,12 +1,19 @@
# awesome config
## Deps
- picom
- [Fira Code](https://github.com/tonsky/FiraCode) *(technically optional, but the `spacestation` theme uses it)*
- pactl [fc38 `pulseaudio-utils`] (for `volume_widget`)
## Credits
### Widgets/modules/etc I use
_You'll need to download these yourself if you're taking bits from my dotfiles_
You'll need to download these yourself if you're taking bits from my dotfiles
- `volume_widget` comes from [awesome-wm-widgets by streetturtle](https://github.com/streetturtle/awesome-wm-widgets) (MIT)
- `cyclefocus` comes from [awesome-cyclefocus by blueyed](https://github.com/blueyed/awesome-cyclefocus) (GPL 2.0)
### Other people's dotfiles I took from
- Modularization is from [epsi-rns' awesome dotfiles](https://gitlab.com/epsi-rns/dotfiles) (MIT)

View File

@ -7,47 +7,79 @@ local modkey = RC.vars.modkey
------------------------------------------
function _M.get()
local client_keys = gears.table.join(
awful.key({ modkey, }, "f",
function (c)
awful.key({ modkey }, "f",
function(c)
c.fullscreen = not c.fullscreen
c:raise()
end,
{description = "toggle fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
{description = "move to master", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"}),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
{description = "toggle keep on top", group = "client"}),
awful.key({ modkey, }, "n",
function (c)
{ description = "toggle fullscreen",
group = "client"}),
awful.key({ modkey, "Shift" }, "c",
function(c)
c:kill()
end,
{ description = "close",
group = "client" }),
awful.key({ modkey, "Control" }, "space",
awful.client.floating.toggle,
{ description = "toggle floating",
group = "client" }),
awful.key({ modkey, "Control" }, "Return",
function(c)
c:swap(awful.client.getmaster())
end,
{ description = "move to master",
group = "client" }),
awful.key({ modkey }, "o",
function(c)
c:move_to_screen()
end,
{ description = "move to screen",
group = "client" }),
awful.key({ modkey }, "t",
function(c)
c.ontop = not c.ontop
end,
{ description = "toggle keep on top",
group = "client" }),
awful.key({ modkey }, "n",
function(c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end ,
{description = "minimize", group = "client"}),
end,
{ description = "minimize",
group = "client"}),
awful.key({ modkey, }, "m",
function (c)
function(c)
c.maximized = not c.maximized
c:raise()
end ,
{description = "(un)maximize", group = "client"}),
end,
{ description = "(un)maximize",
group = "client" }),
awful.key({ modkey, "Control" }, "m",
function (c)
function(c)
c.maximized_vertical = not c.maximized_vertical
c:raise()
end ,
{description = "(un)maximize vertically", group = "client"}),
end,
{ description = "(un)maximize vertically",
group = "client" }),
awful.key({ modkey, "Shift" }, "m",
function (c)
function(c)
c.maximized_horizontal = not c.maximized_horizontal
c:raise()
end ,
{description = "(un)maximize horizontally", group = "client"})
end,
{ description = "(un)maximize horizontally",
group = "client" })
)
return client_keys

View File

@ -3,148 +3,266 @@ local gears = require("gears")
local awful = require("awful")
--- others
local hotkeys_popup = require("awful.hotkeys_popup")
local menubar = require("menubar")
local menubar = require("menubar")
--- resource configuration
local modkey = RC.vars.modkey
local modkey = RC.vars.modkey
local terminal = RC.vars.terminal
local _M = {}
------------------
function _M.get()
local global_keys = gears.table.join(
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
--- show help [mod+s]
awful.key({ modkey }, "s",
hotkeys_popup.show_help,
{ description = "show help",
group = "awesome" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Tag browsing
awful.key({ modkey, }, "Left", awful.tag.viewprev,
{description = "view previous", group = "tag"}),
awful.key({ modkey, }, "Right", awful.tag.viewnext,
{description = "view next", group = "tag"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
------------------
--------- tag browsing
--- view previous tag [global::mod+left]
awful.key({ modkey }, "Left",
awful.tag.viewprev,
{ description = "view previous",
group = "tag" }),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
end,
{description = "focus previous by index", group = "client"}
),
awful.key({ modkey, }, "w", function () RC.mainmenu:show() end,
{description = "show main menu", group = "awesome"}),
--- view next tag [global::mod+right]
awful.key({ modkey }, "Right",
awful.tag.viewnext,
{ description = "view next",
group = "tag" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
{description = "jump to urgent client", group = "client"}),
-- awful.key({ modkey, }, "Tab",
-- function ()
-- awful.client.focus.history.previous()
-- if client.focus then
-- client.focus:raise()
-- end
-- end,
-- {description = "go back", group = "client"}),
------------------
--------- screen focus
awful.key({ modkey, "Control" }, "j",
function()
awful.screen.focus_relative( 1)
end,
{ description = "focus the next screen",
group = "screen" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
{description = "open a terminal", group = "launcher"}),
awful.key({ modkey, "Control" }, "r", awesome.restart,
{description = "reload awesome", group = "awesome"}),
awful.key({ modkey, "Shift" }, "q", awesome.quit,
{description = "quit awesome", group = "awesome"}),
awful.key({ modkey, "Control" }, "k",
function()
awful.screen.focus_relative(-1)
end,
{ description = "focus the previous screen",
group = "screen" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Layout manipulation
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
{description = "increase master width factor", group = "layout"}),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
{description = "decrease master width factor", group = "layout"}),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
{description = "increase the number of master clients", group = "layout"}),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
{description = "decrease the number of master clients", group = "layout"}),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
{description = "increase the number of columns", group = "layout"}),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
{description = "decrease the number of columns", group = "layout"}),
awful.key({ modkey }, "u",
awful.client.urgent.jumpto,
{ description = "jump to urgent client",
group = "client" }),
awful.key({ modkey, "Control" }, "n",
function ()
local c = awful.client.restore()
-- Focus restored client
if c then
c:emit_signal(
"request::activate", "key.unminimize", {raise = true}
)
end
end,
{description = "restore minimized", group = "client"}),
awful.key({ modkey }, "Tab",
function() awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{ description = "go back",
group = "client" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Prompt
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
{description = "run prompt", group = "launcher"}),
------------------
--------- tiling manip
awful.key({ modkey, "Shift" }, "l",
function()
awful.tag.incmwfact( 0.05 )
end,
{ description = "increase master width factor",
group = "layout" }),
awful.key({ modkey }, "x",
function ()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox = awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() .. "/history_eval"
}
end,
{description = "lua execute prompt", group = "awesome"}),
awful.key({ modkey, "Shift" }, "h",
function()
awful.tag.incmwfact( -0.05 )
end,
{ description = "decrease master width factor",
group = "layout" }),
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- Resize
--awful.key({ modkey, "Control" }, "Left", function () awful.client.moveresize( 20, 20, -40, -40) end),
--awful.key({ modkey, "Control" }, "Right", function () awful.client.moveresize(-20, -20, 40, 40) end),
awful.key({ modkey, "Control" }, "Down",
function () awful.client.moveresize( 0, 0, 0, -20) end),
awful.key({ modkey, "Control" }, "Up",
function () awful.client.moveresize( 0, 0, 0, 20) end),
awful.key({ modkey, "Control" }, "Left",
function () awful.client.moveresize( 0, 0, -20, 0) end),
awful.key({ modkey, "Control" }, "Right",
function () awful.client.moveresize( 0, 0, 20, 0) end),
awful.key({ modkey }, "h",
function()
awful.tag.incnmaster( 1, nil, true )
end,
{ description = "increase the number of master clients",
group = "layout" }),
-- Move
awful.key({ modkey, "Shift" }, "Down",
function () awful.client.moveresize( 0, 20, 0, 0) end),
awful.key({ modkey, "Shift" }, "Up",
function () awful.client.moveresize( 0, -20, 0, 0) end),
awful.key({ modkey, "Shift" }, "Left",
function () awful.client.moveresize(-20, 0, 0, 0) end),
awful.key({ modkey, "Shift" }, "Right",
function () awful.client.moveresize( 20, 0, 0, 0) end),
awful.key({ modkey }, "l",
function()
awful.tag.incnmaster(-1, nil, true)
end,
{ description = "decrease the number of master clients",
group = "layout" }),
awful.key({ modkey, }, "p", function()
awful.util.spawn("rofi -show combi -modes combi,filebrowser -combi-modes \"drun,filebrowser,run\"") end,
{description = "open rofi runner", group = "launcher"}),
awful.key({ modkey, "Control" }, "h",
function()
awful.tag.incncol(1, nil, true)
end,
{ description = "increase the number of columns",
group = "layout" }),
awful.key({ modkey, }, "y", function()
awful.util.spawn("scrot") end,
{description = "scrot", group = "launcher"})
awful.key({ modkey, "Control" }, "l",
function()
awful.tag.incncol(-1, nil, true)
end,
{ description = "decrease the number of columns",
group = "layout" }),
--------- client controls
------ focus switching
--- focus next client by index [global::mod+j]
awful.key({ modkey }, "j",
function()
awful.client.focus.byidx( 1)
end,
{ description = "focus next by index",
group = "client" }),
--- focus last client by index [global::mod+k]
awful.key({ modkey }, "k",
function()
awful.client.focus.byidx(-1)
end,
{ description = "focus previous by index",
group = "client" }),
------ reordering
--- swap with next client by index [global::mod+shift+j]
awful.key({ modkey, "Shift" }, "j",
function()
awful.client.swap.byidx( 1)
end,
{ description = "swap with next client by index",
group = "client" }),
--- swap with previous client by index [global::mod+shift+k]
awful.key({ modkey, "Shift" }, "k",
function()
awful.client.swap.byidx( -1)
end,
{ description = "swap with previous client by index",
group = "client" }),
------ resize
awful.key({ modkey, "Control" }, "Down",
function()
awful.client.moveresize(0, 0, 0, -20)
end),
awful.key({ modkey, "Control" }, "Up",
function()
awful.client.moveresize(0, 0, 0, 20)
end),
awful.key({ modkey, "Control" }, "Left",
function()
awful.client.moveresize(0, 0, -20, 0)
end),
awful.key({ modkey, "Control" }, "Right",
function()
awful.client.moveresize(0, 0, 20, 0)
end),
------ move
awful.key({ modkey, "Shift" }, "Down",
function()
awful.client.moveresize(0, 20, 0, 0)
end),
awful.key({ modkey, "Shift" }, "Up",
function()
awful.client.moveresize(0, -20, 0, 0)
end),
awful.key({ modkey, "Shift" }, "Left",
function()
awful.client.moveresize(-20, 0, 0, 0)
end),
awful.key({ modkey, "Shift" }, "Right",
function()
awful.client.moveresize(20, 0, 0, 0)
end),
awful.key({modkey, "Control" }, "n",
function() local c = awful.client.restore()
--- focus restored client
if c then c:emit_signal("request::activate",
"key.unminimize", {raise = true})
end
end,
{ description = "restore minimized",
group = "client" }),
------------------
--------- prompt
------ awesome
--- show main menu [global::mod+w]
awful.key({ modkey }, "w",
function()
RC.mainmenu:show()
end,
{ description = "show main menu",
group = "awesome" }),
--- reload awesome [global::mod+ctrl+r]
awful.key({ modkey, "Control" }, "r",
awesome.restart,
{ description = "reload awesome",
group = "awesome" }),
--- open the run prompt [global::mod+r]
awful.key({ modkey }, "r",
function()
awful.screen.focused().mypromptbox:run()
end,
{ description = "prompt: execute command",
group = "launcher" }),
--- open the lua code prompt [global::mod+x]
awful.key({ modkey }, "x",
function()
awful.prompt.run {
prompt = "Run Lua code: ",
textbox =
awful.screen.focused().mypromptbox.widget,
exe_callback = awful.util.eval,
history_path = awful.util.get_cache_dir() ..
"/history_eval" }
end,
{ description = "prompt: execute lua",
group = "awesome" }),
------ external
--- open terminal [global::mod+enter]
awful.key({ modkey }, "Return",
function()
awful.spawn(terminal)
end,
{ description = "open terminal",
group = "launcher" }),
--- take screenshot of entire screen [global::mod+y]
awful.key( {modkey }, "y",
function()
awful.util.spawn("scrot")
end,
{ description = "take fullscreen screenshot",
group = "launcher" }),
--- open rofi launcher [global::mod+p]
awful.key({ modkey }, "p",
function()
awful.util.spawn("rofi -show drun")
end,
{ description = "open rofi launcher",
group = "launcher" })
)
return global_keys
end
------------------
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
return setmetatable({}, {
__call = function(_, ...)
return _M.get(...)
end })

View File

@ -6,20 +6,31 @@ local _M = {}
------------------------------------------
function _M.get()
local client_buttons = gears.table.join(
awful.button({ }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
--- focus client [client::click]
awful.button({ }, 1,
function(c)
c:emit_signal("request::activate", "mouse_click",
{raise = true})
end),
awful.button({ modkey }, 1, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
--- move client [client::mod+click]
awful.button({ modkey }, 1,
function(c)
c:emit_signal("request::activate", "mouse_click",
{raise = true})
awful.mouse.client.move(c)
end),
awful.button({ modkey }, 3, function (c)
c:emit_signal("request::activate", "mouse_click", {raise = true})
--- resize client [client::mod+click_r]
awful.button({ modkey }, 3,
function(c)
c:emit_signal("request::activate", "mouse_click",
{raise = true})
awful.mouse.client.resize(c)
end))
end)
)
return client_buttons
end
------------------------------------------
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
return setmetatable({}, {
__call = function(_, ...)
return _M.get(...)
end })

View File

@ -6,11 +6,30 @@ local _M = {}
------------------------------------------
function _M.get()
local global_buttons = gears.table.join(
awful.button({ }, 3, function () RC.mainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
--- hide menu [desktop::click]
awful.button({ }, 1,
function()
RC.mainmenu:hide()
end),
--- toggle menu [desktop::click_r]
awful.button({ }, 3,
function ()
RC.mainmenu:toggle()
end),
--- go to previous tag [desktop::scroll_u]
awful.button({ }, 4,
awful.tag.viewprev),
--- go to next tag [desktop::scroll_d]
awful.button({ }, 5,
awful.tag.viewnext)
)
return global_buttons
end
------------------------------------------
return setmetatable({}, { __call = function(_, ...) return _M.get(...) end })
return setmetatable({}, {
__call = function(_, ...)
return _M.get(...)
end })

View File

@ -8,17 +8,17 @@ local _M = {}
function _M.get ()
-- Table of layouts to cover with awful.layout.inc, order matters.
local layouts = {
awful.layout.suit.floating, -- 1:
awful.layout.suit.floating,
awful.layout.suit.tile, -- 2:
awful.layout.suit.tile.left, -- 3:
awful.layout.suit.tile.bottom, -- 4:
awful.layout.suit.tile.top, -- 5:
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.fair, -- 6:
awful.layout.suit.fair.horizontal, -- 7:
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.max, -- 8:
awful.layout.suit.max,
}
return layouts

View File

@ -7,8 +7,9 @@ local beautiful = require("beautiful") --- for awesome.icon
local M = {}
local _M = {}
------------------------------------------
--- import terminal variable from rc.lua
local terminal = RC.vars.terminal
--- import preferred programs
local terminal = RC.vars.terminal
local file_manager = RC.vars.file_manager
--- import editor variable from OS environment
local editor = os.getenv("EDITOR") or "nano"
@ -17,133 +18,187 @@ local editor_cmd = terminal .. " -e " .. editor
------------------------------------------
--- make it harder to quit awesome accidentally
M.quitmenu =
{{ "i mean it!", function() awesome.quit() end }}
{{ "i mean it!",
function()
awesome.quit()
end }}
--- "awesome" menu
M.awesome = {
{ "hotkeys" , function() hotkeys_popup.show_help(nil,awful.screen.focused())
end },
{ "manual" , terminal
.. " -e man awesome" },
{ "edit config" , editor_cmd
.. " "
.. awesome.conffile },
{ "terminal" , terminal },
{ "restart" , awesome.restart },
{ "quit" , M.quitmenu }
{ "hotkeys",
function()
hotkeys_popup.show_help(nil,awful.screen.focused())
end },
{ "manual",
terminal .. " -e man awesome" },
{ "edit config",
editor_cmd .. " " .. awesome.conffile },
{ "terminal", terminal },
{ "restart", awesome.restart },
{ "quit", M.quitmenu }
}
--- browsers and other network-oriented software
M.network = {
{ "firefox" , "firefox" },
{ "discord" , "flatpak run\
com.discordapp.Discord" },
{ "thunderbird" , "thunderbird" },
{ "steam" , "steam" },
{ "qbittorrent" , "qbittorrent" },
{ "keepassxc" , "keepassxc" }
{ "firefox", "firefox" },
{ "discord",
"flatpak run com.discordapp.Discord" },
{ "thunderbird", "thunderbird" },
{ "steam", "steam" },
{ "hyperbeam",
"/opt/AppImages/Hyperbeam-0.21.0.AppImage" },
{ "qbittorrent", "qbittorrent" },
{ "keepassxc", "keepassxc" },
}
--- DEVELOPERS, DEVELOPERS, DEVELOPERS, DEVELOPERS
M.develop = {
{ "vs code" , "code" },
{ "bless" , "bless" },
-- { "dbeaver studio" , "flatpak run\
-- io.dbeaver.DBeaverCommunity" },
-- { "beekeeper studio" , "flatpak run\
-- io.beekeeperstudio.Studio" },
{ "sqlite browser" , "sqlitebrowser" }
{ "vs code", "code" },
{ "bless", "bless" },
{ "sqlite browser", "sqlitebrowser" }
}
--- emulators
M.emulators = {
{ "citra" , "flatpak run\
org.citra_emu.citra" },
{ "dolphin" , "flatpak run\
org.DolphinEmu.dolphin-emu" },
{ "yuzu" , "flatpak run\
org.yuzu_emu.yuzu" },
{ "duckstation" , "flatpak run\
org.duckstation.DuckStation" },
{ "PPSSPP" , "flatpak run\
org.ppsspp.PPSSPP" }
{ "citra",
"flatpak run org.citra_emu.citra" },
{ "dolphin",
"flatpak run org.DolphinEmu.dolphin-emu" },
{ "yuzu",
"flatpak run org.yuzu_emu.yuzu" },
{ "duckstation",
"flatpak run org.duckstation.DuckStation" },
{ "PPSSPP",
"flatpak run org.ppsspp.PPSSPP" }
}
--- vintage story [different versions of VS for mods]
M.vtgstry = {
{ "latest" , "vintagestory" },
{ "flatpak" , "flatpak run\
at.vintagestory.VintageStory" }
{ "latest", "vintagestory" },
{ "flatpak",
"flatpak run at.vintagestory.VintageStory" }
}
--- videogames
M.games = {
{ "emulators" , M.emulators },
{ "vintage story" , M.vtgstry },
{ "team fortress 2" , "steam\
steam://rungameid/440" },
{ "ballisticNG" , "steam\
steam://rungameid/473770" },
{ "them's fightin' herds" , "steam\
steam://rungameid/574980" },
{ "doom" , "gzdoom" },
{ "osu!" , "flatpak run\
sh.ppy.osu" },
{ "minecraft" , "flatpak run\
org.prismlauncher.PrismLauncher" },
{ "solitaire" , "pysol" }
{ "emulators", M.emulators },
{ "vintage story", M.vtgstry},
{ "team fortress 2",
"steam steam://rungameid/440" },
{ "ballisticNG",
"steam steam://rungameid/473770" },
{ "them's fightin' herds",
"steam steam://rungameid/574980" },
{ "doom", "gzdoom" },
{ "osu!",
"flatpak run sh.ppy.osu" },
{ "minecraft",
"flatpak run org.prismlauncher.PrismLauncher" },
{ "solitaire", "pysol" }
}
--- utilities [kind of a misc category]
M.utils = {
{ "xed" , "xed" },
{ "catfish" , "catfish" },
{ "anki" , "flatpak run net.ankiweb.Anki" },
{ "mkvtoolnix" , "mkvtoolnix-gui" },
{ "text pieces" , "flatpak run\
com.github.liferooter.textpieces" },
{ "alacarte" , "alacarte" },
{ "flatseal" , "flatpak run com.github.tchx84.Flatseal" },
{ "xarchiver" , "xarchiver" },
{ "piper" , "piper" },
{ "wally" , "wally" }
{ "catfish", "catfish" },
{ "xed", "xed" },
{ "xarchiver", "xarchiver" },
{ "flatseal",
"flatpak run com.github.tchx84.Flatseal" },
{ "text pieces",
"flatpak run com.github.liferooter.textpieces" },
{ "alacarte", "alacarte" },
{ "piper", "piper" }, --- mouse config
{ "wally", "wally" } --- keyboard fw flasher
}
--- "media" programs [image viewers, video players, etc]
M.media = {
{ "hydrus" , "flatpak run io.github.hydrusnetwork.hydrus" },
{ "vlc" , "vlc" },
{ "youtube" , "/usr/lib64/chromium-browser/chromium-browser.sh\
--profile-directory=Default\
--app-id=agimnkijcaahngcdmfeangaknmldooml" },
{ "spotify" , "flatpak run com.spotify.Client" },
{ "nomacs" , "nomacs" }
}
{ "hydrus",
"flatpak run io.github.hydrusnetwork.hydrus" },
{ "vlc", "vlc" },
{ "youtube",
"/usr/lib64/chromium-browser/chromium-browser.sh\
--profile-directory=Default\
--app-id=agimnkijcaahngcdmfeangaknmldooml" },
{ "spotify",
"flatpak run com.spotify.Client" },
{ "mkvtoolnix",
"mkvtoolnix-gui" },
{ "nomacs", "nomacs" }
}
--- educationf
M.edu = {
{ "anki",
"flatpak run net.ankiweb.Anki" },
{ "zotero",
"flatpak run org.zotero.Zotero" }
}
--- "visual arts" stuff
M.vis = {
{ "blender" , "steam\
steam://rungameid/365670" },
{ "krita" , "krita" },
{ "GIMP" , "gimp-2.10" },
{ "beeref" , "flatpak run\
org.beeref.BeeRef" }
{ "blender",
"steam steam://rungameid/365670" },
{ "krita", "krita" },
{ "GIMP", "gimp-2.10" },
{ "beeref",
"flatpak run org.beeref.BeeRef" }
}
------------------------------------------
function _M.get()
--- main menu
local menu_items = {
{ "awesome" , M.awesome,
beautiful.awesome_subicon },
{ "terminal" , terminal },
{ "thunar" , "Thunar" },
{ "www" , M.network },
{ "media" , M.media },
{ "dev" , M.develop },
{ "art" , M.vis },
{ "games" , M.games },
{ "utils" , M.utils }
{ "awesome",
M.awesome, beautiful.awesome_subicon },
{ "terminal", terminal },
{ "files" , file_manager },
{ "www" , M.network },
{ "media" , M.media },
{ "dev" , M.develop },
{ "edu" , M.edu },
{ "art" , M.vis },
{ "games" , M.games },
{ "utils" , M.utils }
}
return menu_items
end

View File

@ -1,14 +1,11 @@
-- Standard awesome library
--- awesome stdlib
local gears = require("gears")
local awful = require("awful")
-- Widget and layout library
--- widget and layout lib
local wibox = require("wibox")
-- Theme handling library
--- theme lib
local beautiful = require("beautiful")
-- Custom Local Library: Common Functional Decoration
--- custom local lib
require("deco.titlebar")
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

View File

@ -1,10 +1,10 @@
local home = os.getenv("HOME")
local _M = {
terminal = "alacritty",
modkey = "Mod4",
wallpaper = "/usr/share/backgrounds/custom/space_station.jpg"
terminal = "alacritty",
file_manager = "Thunar",
modkey = "Mod4",
wallpaper = "/usr/share/backgrounds/custom/space_station.jpg"
}
return _M

View File

@ -1,14 +1,11 @@
------ includes
--- enable luarocks if installed
pcall(require, "luarocks.loader")
--- awesome stdlib
local gears = require("gears")
local awful = require("awful")
--- theme lib
local beautiful = require("beautiful")
--- other awesome libs
local menubar = require("menubar")
@ -50,7 +47,7 @@ RC.tags = main.tags()
------ menu
RC.mainmenu = awful.menu({ items = main.menu() }) -- in globalkeys
-- a variable needed in statusbar (helper)
--- a variable needed in statusbar (helper)
RC.launcher = awful.widget.launcher(
{ image = beautiful.awesome_icon, menu = RC.mainmenu }
)

View File

@ -1 +1,5 @@
I believe the userChrome CSS for the Tree Style Tabs addon comes from the Github wiki for the addon itself, but I'm genuinely not quite sure atm. Will definitely have to double-check later
# Firefox
## chrome
I believe the userChrome CSS for the Tree Style Tabs addon comes from the Github wiki for the addon itself, but I'm genuinely not quite sure atm. Will definitely have to double-check later

10
fish/init.fish Normal file
View File

@ -0,0 +1,10 @@
## kawasaki theme settings
# use kawasaki env prompt
set -x VIRTUAL_ENV_DISABLE_PROMPT 1
# other
set -g theme_display_group no
set -g theme_display_virtualenv yes
set -g theme_display_time yes
## Perl
set -xg DBIC_TRACE 1

1
fish/theme Normal file
View File

@ -0,0 +1 @@
kawasaki

23
linkdir.pl Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env perl
if ($< != 0) { die "Can't link dirs. Please re-run as root." }
my $conf =
"/home/nu/.config/";
my $git =
"/mnt/Storage/(500) Programming/598.\ Groups\ of\ smaller\ projects/dotfiles/";
my %confDirs = (
# `.conf` dir -> git repo dir
"alacritty" => "alacritty",
"awesome" => "awesome",
"omf" => "fish",
"picom" => "picom",
"rofi" => "rofi",
);
while (my ($key, $value) = each %confDirs) {
`mount --bind "/home/nu/.config\/$key" "/mnt/Storage/(500) Programming/598. Groups of smaller projects/dotfiles\/$value"`
}
print("Done!");

42
perl/.perltidyrc Normal file
View File

@ -0,0 +1,42 @@
-w
-log
-i=2
-l=70
-enc=utf8
-gcs
-ole=unix
-it=2
-ci=4
-xci
-cti=1
-nolq
-nola
-pt=2
-bt=1
-bbt=0
-tso
-nsts
-sfs
-nasc
-dsm
-aws
-dws
-fpva
-lop
-ibc
-nfs
-ce
-nbl
-olc
-dsm
-olq
-kis
-bbb
-kbl=1
-bar
-otr
-bbhb=3
-bbhbi=1
-wn
-vt=1
-nlal

153
rofi/config.rasi Normal file
View File

@ -0,0 +1,153 @@
// generic, theme-agnostic settings
configuration {
/* modes: "window,drun,run,ssh";*/
/* location: 0;*/
/* yoffset: 0;*/
/* xoffset: 0;*/
/* fixed-num-lines: true;*/
terminal: "alacritty";
/* ssh-client: "ssh";*/
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
/* run-command: "{cmd}";*/
/* run-list-command: "";*/
/* run-shell-command: "{terminal} -e {cmd}";*/
/* window-command: "wmctrl -i -R {window}";*/
/* window-match-fields: "all";*/
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
/* drun-categories: ;*/
/* drun-show-actions: false;*/
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
/* drun-url-launcher: "xdg-open";*/
/* disable-history: false;*/
/* ignored-prefixes: "";*/
/* sort: false;*/
/* sorting-method: "normal";*/
case-sensitive: false;
/* cycle: true;*/
/* sidebar-mode: false;*/
/* hover-select: false;*/
/* eh: 1;*/
/* auto-select: false;*/
/* parse-hosts: false;*/
/* parse-known-hosts: true;*/
/* combi-modes: "window,run";*/
/* matching: "normal";*/
/* tokenize: true;*/
/* m: "-5";*/
/* filter: ;*/
/* dpi: -1;*/
/* threads: 0;*/
/* scroll-method: 0;*/
/* window-format: "{w} {c} {t}";*/
click-to-exit: true;
max-history-size: 50;
/* combi-hide-mode-prefix: false;*/
/* combi-display-format: "{mode} {text}";*/
/* matching-negate-char: '-' /* unsupported */;*/
/* cache-dir: ;*/
window-thumbnail: true;
/* drun-use-desktop-cache: false;*/
/* drun-reload-desktop-cache: false;*/
/* normalize-match: false;*/
/* steal-focus: false;*/
/* application-fallback-icon: ;*/
/* refilter-timeout-limit: 8192;*/
/* xserver-i300-workaround: false;*/
/* pid: "/run/user/1000/rofi.pid";*/
/* display-window: ;*/
/* display-windowcd: ;*/
/* display-run: ;*/
/* display-ssh: ;*/
/* display-drun: ;*/
/* display-combi: ;*/
/* display-keys: ;*/
/* display-filebrowser: ;*/
/* kb-primary-paste: "Control+V,Shift+Insert";*/
/* kb-secondary-paste: "Control+v,Insert";*/
/* kb-clear-line: "Control+w";*/
/* kb-move-front: "Control+a";*/
/* kb-move-end: "Control+e";*/
/* kb-move-word-back: "Alt+b,Control+Left";*/
/* kb-move-word-forward: "Alt+f,Control+Right";*/
/* kb-move-char-back: "Left,Control+b";*/
/* kb-move-char-forward: "Right,Control+f";*/
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
/* kb-remove-word-forward: "Control+Alt+d";*/
/* kb-remove-char-forward: "Delete,Control+d";*/
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
/* kb-remove-to-eol: "Control+k";*/
/* kb-remove-to-sol: "Control+u";*/
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
/* kb-accept-custom: "Control+Return";*/
/* kb-accept-custom-alt: "Control+Shift+Return";*/
/* kb-accept-alt: "Shift+Return";*/
/* kb-delete-entry: "Shift+Delete";*/
/* kb-mode-next: "Shift+Right,Control+Tab";*/
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
/* kb-mode-complete: "Control+l";*/
/* kb-row-left: "Control+Page_Up";*/
/* kb-row-right: "Control+Page_Down";*/
/* kb-row-up: "Up,Control+p";*/
/* kb-row-down: "Down,Control+n";*/
/* kb-row-tab: "";*/
/* kb-element-next: "Tab";*/
/* kb-element-prev: "ISO_Left_Tab";*/
/* kb-page-prev: "Page_Up";*/
/* kb-page-next: "Page_Down";*/
/* kb-row-first: "Home,KP_Home";*/
/* kb-row-last: "End,KP_End";*/
/* kb-row-select: "Control+space";*/
/* kb-screenshot: "Alt+S";*/
/* kb-ellipsize: "Alt+period";*/
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
/* kb-toggle-sort: "Alt+grave";*/
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
/* kb-custom-1: "Alt+1";*/
/* kb-custom-2: "Alt+2";*/
/* kb-custom-3: "Alt+3";*/
/* kb-custom-4: "Alt+4";*/
/* kb-custom-5: "Alt+5";*/
/* kb-custom-6: "Alt+6";*/
/* kb-custom-7: "Alt+7";*/
/* kb-custom-8: "Alt+8";*/
/* kb-custom-9: "Alt+9";*/
/* kb-custom-10: "Alt+0";*/
/* kb-custom-11: "Alt+exclam";*/
/* kb-custom-12: "Alt+at";*/
/* kb-custom-13: "Alt+numbersign";*/
/* kb-custom-14: "Alt+dollar";*/
/* kb-custom-15: "Alt+percent";*/
/* kb-custom-16: "Alt+dead_circumflex";*/
/* kb-custom-17: "Alt+ampersand";*/
/* kb-custom-18: "Alt+asterisk";*/
/* kb-custom-19: "Alt+parenleft";*/
/* kb-select-1: "Super+1";*/
/* kb-select-2: "Super+2";*/
/* kb-select-3: "Super+3";*/
/* kb-select-4: "Super+4";*/
/* kb-select-5: "Super+5";*/
/* kb-select-6: "Super+6";*/
/* kb-select-7: "Super+7";*/
/* kb-select-8: "Super+8";*/
/* kb-select-9: "Super+9";*/
/* kb-select-10: "Super+0";*/
/* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/
/* ml-row-down: "ScrollDown";*/
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directories-first: true;
sorting-method: "name";
}
}
// theme-specific stuff
@import "spaceship/config.rasi"

View File

@ -0,0 +1,9 @@
// "spaceship" theme config
configuration {
font: "Fira Code 14";
show-icons: true;
icon-theme: "hicolor";
icon { theme: "hicolor"; }
}
// actual styling
@theme "spaceship/theme.rasi"

155
rofi/spaceship/theme.rasi Normal file
View File

@ -0,0 +1,155 @@
* {
// generic colour vars
red: rgba(198, 77, 56, 100%);
blue: rgba( 56, 177, 198, 100%);
black: rgba( 15, 35, 86, 100%);
faded: rgba( 15, 35, 86, 40%);
yellow: rgba(225, 182, 97, 100%);
background: rgba(255, 255, 255, 58%);
// specific colour vars
background-color: transparent;
border-color: var(black);
// other things??
spacing: 5;
}
element {
padding: 1px ;
cursor: pointer;
spacing: 15px ;
border: 0;
}
element normal.normal {
background-color: transparent;
text-color: var(black);
}
element normal.urgent {
background-color: var(black);
text-color: var(red);
}
element normal.active {
background-color: transparent;
text-color: var(black);
}
element selected.normal {
background-color: var(yellow);
text-color: var(black);
}
element selected.urgent {
background-color: var(red);
text-color: var(black);
}
element selected.active {
background-color: var(yellow);
text-color: var(black);
}
element alternate.normal {
background-color: transparent;
text-color: var(black);
}
element alternate.urgent {
background-color: var(black);
text-color: var(red);
}
element alternate.active {
background-color: var(red);
text-color: var(black);
}
element-text {
background-color: transparent;
cursor: inherit;
highlight: inherit;
text-color: inherit;
}
element-icon {
background-color: transparent;
size: 1.2000em ;
cursor: inherit;
text-color: inherit;
}
window {
padding: 12;
background-color: var(background);
border: 1;
}
mainbox {
padding: 0;
border: 0;
}
message {
padding: 1px ;
border-color: var(black);
border: 2px dash 0px 0px ;
}
textbox {
text-color: var(black);
}
listview {
padding: 2px 0px 0px ;
scrollbar: true;
border-color: var(black);
spacing: 5px;
fixed-height: 0;
border: 2px dash 0px 0px ;
}
scrollbar {
width: 5px ;
padding: 0;
handle-width: 8px ;
border: 0;
handle-color: var(black);
}
sidebar {
border-color: var(black);
border: 2px dash 0px 0px ;
}
button {
cursor: pointer;
spacing: 0;
text-color: var(black);
}
button selected {
background-color: var(yellow);
text-color: var(black);
}
num-filtered-rows {
expand: false;
text-color: var(faded);
}
num-rows {
expand: false;
text-color: var(faded);
}
textbox-num-sep {
expand: false;
str: "/";
text-color: var(faded);
}
inputbar {
padding: 1px ;
spacing: 0px ;
text-color: var(black);
children: [ "prompt","textbox-prompt-colon","entry","num-filtered-rows","textbox-num-sep","num-rows","case-indicator" ];
}
case-indicator {
spacing: 0;
text-color: var(black);
}
entry {
text-color: var(black);
cursor: text;
spacing: 5;
placeholder-color: var(faded);
placeholder: "Type to filter";
}
prompt {
spacing: 0;
text-color: var(black);
}
textbox-prompt-colon {
margin: 0px 0.3000em 0.0000em 0.0000em ;
expand: false;
str: ":";
text-color: inherit;
}