├── .xinitrc ├── README.md ├── app.py ├── awesome ├── rc.lua ├── theme.lua └── titlebar │ ├── close.png │ ├── floating_active.png │ ├── floating_focus_inactive.png │ ├── floating_normal_inactive.png │ ├── maximized.png │ ├── minimize.png │ ├── ontop_active.png │ ├── ontop_focus_inactive.png │ └── ontop_normal_inactive.png ├── bpytop ├── bpytop.conf └── error.log ├── compton └── compton.conf ├── fish ├── config.fish └── fish_variables ├── gtk-3.0 └── gtk.css ├── micro ├── bindings.json ├── colorschemes │ └── nord.micro └── settings.json ├── nvim ├── init.lua ├── lua │ ├── completions-conf │ │ └── init.lua │ ├── dashboard-conf │ │ └── init.lua │ ├── indent_blankline-conf │ │ └── init.lua │ ├── lsp-conf │ │ └── init.lua │ ├── lualine-conf │ │ └── init.lua │ ├── nvimtree-conf │ │ └── init.lua │ ├── telescope-fb-conf │ │ └── init.lua │ └── treesitter-conf │ │ └── init.lua └── plugin │ └── packer_compiled.lua ├── polybar ├── config.ini └── launch.sh ├── ranger └── rc.conf ├── rofi ├── config.rasi └── scripts │ └── rofi-exit.sh ├── screenshot.png ├── slim ├── lominoss │ ├── background.png │ ├── panel.png │ └── slim.theme └── slim.conf ├── starship.toml ├── termite └── config ├── wallpaper.png ├── wallpapers └── mountains.jpg ├── window.png └── xfce4 └── terminal ├── accels.scm ├── terminalrc └── terminalrc.bak /.xinitrc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -d /etc/X11/xinit/xinitrc.d ] ; then 4 | for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do 5 | [ -x "$f" ] && . "$f" 6 | done 7 | unset f 8 | fi 9 | 10 | DEFAULT_SESSION="awesome" 11 | 12 | case "$1" in 13 | "qtile") qtile start ;; 14 | "bspwm") exec bspwm ;; 15 | *) exec "$DEFAULT_SESSION" ;; 16 | esac 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awesome-dots 2 | My custom AwesomeWM desktop. 3 | 4 | ![Screenshot](https://raw.githubusercontent.com/lominoss-git/awesome-dots/main/screenshot.png) 5 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | from PyQt5 import QtWidgets, QtGui 2 | from PyQt5.QtCore import Qt, QTimer, QDateTime 3 | from PyQt5.QtWidgets import QApplication, QMainWindow 4 | from itertools import cycle 5 | import sys 6 | 7 | resolution = [2256, 1440] 8 | background_color = "#2e3440" 9 | default_text_color = "#eceff4" 10 | input_text_color = "#88c0d0" 11 | session_text_color = "#88c0d0" 12 | day_color = "#a3be8c" 13 | am_pm_color = "#b48ead" 14 | separator_color = "#5e6779" 15 | 16 | input_window_image = "window.png" 17 | input_window_top_offset = 25 18 | input_window_padding = 60 19 | input_offset = 12 20 | 21 | screen_side_margin = 20 22 | screen_bottom_margin = 15 23 | 24 | username_password_offset = 40 25 | password_login_offset = 65 26 | 27 | font = "Roboto Mono" 28 | font_size = 9 29 | 30 | usernames = ["lominoss", "hamid", "assaadeloualji", "aeloualji"] 31 | sessions = ["Awesome", "KDE", "Gnome", "Qtile", "Xmonad"] 32 | 33 | class MyWindow(QMainWindow): 34 | def __init__(self): 35 | super(MyWindow, self).__init__() 36 | 37 | self.setGeometry(100, 100, resolution[0], resolution[1]) 38 | self.setWindowTitle("Test") 39 | self.setStyleSheet("background-color: {0}; color: {1};".format(background_color, default_text_color)) 40 | self.setFont(QtGui.QFont(font, font_size)) 41 | 42 | self.initUI() 43 | 44 | def initUI(self): 45 | self.size_label = QtWidgets.QLabel(self) 46 | self.size_label.hide() 47 | 48 | self.input_window = QtWidgets.QLabel(self) 49 | self.input_window_image = QtGui.QPixmap(input_window_image) 50 | self.input_window.setPixmap(self.input_window_image) 51 | self.input_window.adjustSize() 52 | self.input_window.move(self.width() // 2 - self.input_window.width() // 2, self.height() // 2 - self.input_window.height() // 2) 53 | 54 | self.password_label = QtWidgets.QLabel(self) 55 | self.password_label.setText("Password:") 56 | self.password_label.adjustSize() 57 | self.password_label.move(self.width() // 2 - self.input_window.width() // 2 + input_window_padding, self.height() // 2 - input_window_top_offset // 2) 58 | 59 | self.password_input = QtWidgets.QLineEdit(self) 60 | self.password_input.resize(self.input_window.width() - self.password_label.width() - input_offset - input_window_padding * 2, self.password_label.height()) 61 | self.password_input.move(self.password_label.x() + self.password_label.width() + input_offset, self.password_label.y()) 62 | self.password_input.setEchoMode(QtWidgets.QLineEdit.Password) 63 | self.password_input.setStyleSheet("color: {0}; border: 0; lineedit-password-character: 10033; selection-background-color: {0}; selection-color: {2};".format(input_text_color, input_text_color, background_color)) 64 | 65 | self.username_label = QtWidgets.QLabel(self) 66 | self.username_label.setText("Username:") 67 | self.username_label.adjustSize() 68 | self.username_label.move(self.password_label.x(), self.password_label.y() - username_password_offset) 69 | 70 | self.username_cycle = cycle(usernames) 71 | self.current_username = next(self.username_cycle) 72 | 73 | self.username_button = QtWidgets.QPushButton(self) 74 | self.username_button.setText(self.current_username) 75 | self.username_button.resize(self.calculateSize(self.username_button.text())) 76 | self.username_button.setCursor(QtGui.QCursor(Qt.PointingHandCursor)) 77 | self.username_button.move(self.username_label.x() + self.username_label.width() + input_offset, self.username_label.y()) 78 | self.username_button.setStyleSheet("color: {0}; border: 0;".format(input_text_color)) 79 | self.username_button.clicked.connect(self.changeUsername) 80 | 81 | self.showhide_button = QtWidgets.QPushButton(self) 82 | self.showhide_button.setText("Show Password") 83 | self.showhide_button.setCursor(QtGui.QCursor(Qt.PointingHandCursor)) 84 | self.showhide_button.resize(self.calculateSize(self.showhide_button.text())) 85 | self.showhide_button.move(self.width() // 2 - self.input_window.width() // 2 + input_window_padding, self.password_label.y() + password_login_offset) 86 | self.showhide_button.setStyleSheet("text-align: left; border: 0;") 87 | self.showhide_button.clicked.connect(self.showHide) 88 | 89 | self.login_button = QtWidgets.QPushButton(self) 90 | self.login_button.setText("Login") 91 | self.login_button.setCursor(QtGui.QCursor(Qt.PointingHandCursor)) 92 | self.login_button.resize(self.calculateSize(self.login_button.text())) 93 | self.login_button.move(self.width() // 2 + self.input_window.width() // 2 - input_window_padding - self.login_button.width(), self.password_label.y() + password_login_offset) 94 | self.login_button.setStyleSheet("border: 0;") 95 | 96 | self.time_label = QtWidgets.QLabel(self) 97 | self.showTime() 98 | 99 | timer = QTimer(self) 100 | timer.timeout.connect(self.showTime) 101 | timer.start(15000) 102 | 103 | self.session_cycle = cycle(sessions) 104 | self.current_session = next(self.session_cycle) 105 | 106 | self.session_label = QtWidgets.QLabel(self) 107 | self.session_label.setText("Session:") 108 | self.session_label.adjustSize() 109 | self.session_label.move(self.input_window.x(), self.input_window.y() - 40) 110 | 111 | self.session_button = QtWidgets.QPushButton(self) 112 | self.session_button.setText(self.current_session) 113 | self.session_button.setCursor(QtGui.QCursor(Qt.PointingHandCursor)) 114 | self.session_button.resize(self.calculateSize(self.session_button.text())) 115 | self.session_button.move(self.session_label.x() + self.session_label.width() + input_offset, self.session_label.y()) 116 | self.session_button.setStyleSheet("border: 0; color: {0};".format(session_text_color)) 117 | self.session_button.clicked.connect(self.changeSession) 118 | 119 | self.status_label = QtWidgets.QLabel(self) 120 | self.status_label.setText("Incorrect Password") 121 | self.status_label.adjustSize() 122 | self.status_label.move(self.width() // 2 - self.status_label.width() // 2, self.input_window.y() + self.input_window.height() + 40) 123 | # self.status_label.hide() 124 | 125 | def calculateSize(self, text): 126 | self.size_label.setText(text) 127 | self.size_label.adjustSize() 128 | return self.size_label.size() 129 | 130 | def showHide(self): 131 | if self.password_input.echoMode() == QtWidgets.QLineEdit.Password: 132 | self.password_input.setEchoMode(QtWidgets.QLineEdit.Normal) 133 | self.showhide_button.setText("Hide Password") 134 | 135 | else: 136 | self.password_input.setEchoMode(QtWidgets.QLineEdit.Password) 137 | self.showhide_button.setText("Show Password") 138 | 139 | self.showhide_button.resize(self.calculateSize(self.showhide_button.text())) 140 | 141 | def showTime(self): 142 | current_time = QDateTime.currentDateTime() 143 | label_time = current_time.toString('ddd, MMM {1}dd{0} {2}·{0} hh:mm {3}AP{0}') 144 | 145 | label_time = label_time.replace("{0}", "") 146 | label_time = label_time.replace("{1}", ''.format(day_color)) 147 | label_time = label_time.replace("{2}", ''.format(separator_color)) 148 | label_time = label_time.replace("{3}", ''.format(am_pm_color)) 149 | 150 | self.time_label.setText(label_time) 151 | self.time_label.adjustSize() 152 | self.time_label.move(self.input_window.x() + self.input_window.width() - self.time_label.width(), self.input_window.y() - 40) 153 | 154 | def changeSession(self): 155 | self.current_session = next(self.session_cycle) 156 | self.session_button.setText(self.current_session) 157 | self.session_button.resize(self.calculateSize(self.session_button.text())) 158 | 159 | def changeUsername(self): 160 | self.current_username = next(self.username_cycle) 161 | self.username_button.setText(self.current_username) 162 | self.username_button.resize(self.calculateSize(self.username_button.text())) 163 | 164 | def window(): 165 | app = QApplication(sys.argv) 166 | app.setFont(QtGui.QFont(font, font_size)) 167 | 168 | win = MyWindow() 169 | win.show() 170 | 171 | sys.exit(app.exec_()) 172 | 173 | if __name__ == "__main__": 174 | window() 175 | -------------------------------------------------------------------------------- /awesome/rc.lua: -------------------------------------------------------------------------------- 1 | -- If LuaRocks is installed, make sure that packages installed through it are 2 | -- found (e.g. lgi). If LuaRocks is not installed, do nothing. 3 | pcall(require, "luarocks.loader") 4 | 5 | -- Standard awesome library 6 | local gears = require("gears") 7 | local awful = require("awful") 8 | require("awful.autofocus") 9 | -- Widget and layout library 10 | local wibox = require("wibox") 11 | -- Theme handling library 12 | local beautiful = require("beautiful") 13 | -- Notification library 14 | local naughty = require("naughty") 15 | local menubar = require("menubar") 16 | local hotkeys_popup = require("awful.hotkeys_popup") 17 | -- Enable hotkeys help widget for VIM and other apps 18 | -- when client with a matching name is opened: 19 | require("awful.hotkeys_popup.keys") 20 | 21 | -- {{{ Error handling 22 | -- Check if awesome encountered an error during startup and fell back to 23 | -- another config (This code will only ever execute for the fallback config) 24 | if awesome.startup_errors then 25 | naughty.notify({ preset = naughty.config.presets.critical, 26 | title = "Oops, there were errors during startup!", 27 | text = awesome.startup_errors }) 28 | end 29 | 30 | -- Handle runtime errors after startup 31 | do 32 | local in_error = false 33 | awesome.connect_signal("debug::error", function (err) 34 | -- Make sure we don't go into an endless error loop 35 | if in_error then return end 36 | in_error = true 37 | 38 | naughty.notify({ preset = naughty.config.presets.critical, 39 | title = "Oops, an error happened!", 40 | text = tostring(err) }) 41 | in_error = false 42 | end) 43 | end 44 | -- }}} 45 | 46 | -- {{{ Variable definitions 47 | -- Themes define colours, icons, font and wallpapers. 48 | beautiful.init("~/.config/awesome/theme.lua") 49 | 50 | -- This is used later as the default terminal and editor to run. 51 | terminal = "xfce4-terminal" 52 | browser = "firefox" 53 | wallpaper_setter = "nitrogen" 54 | file_browser = terminal .. " -e " .. "ranger" 55 | editor_cmd = terminal .. " -e " .. "micro" 56 | 57 | show_titlebars = true 58 | border_radius = 0 59 | outer_gap = 20 60 | 61 | -- Default superkey. 62 | -- Usually, Mod4 is the key with a logo between Control and Alt. 63 | -- If you do not like this or do not have such a key, 64 | -- I suggest you to remap Mod4 to another key using xmodmap or other tools. 65 | -- However, you can use another modifier like Mod1, but it may interact with others. 66 | superkey = "Mod4" 67 | altkey = "Mod1" 68 | 69 | -- Table of layouts to cover with awful.layout.inc, order matters. 70 | awful.layout.layouts = { 71 | awful.layout.suit.tile, 72 | -- awful.layout.suit.tile.bottom, 73 | -- awful.layout.suit.tile.top, 74 | -- awful.layout.suit.tile.left, 75 | -- awful.layout.suit.floating, 76 | -- awful.layout.suit.max, 77 | -- awful.layout.suit.tile.bottom, 78 | -- awful.layout.suit.spiral.dwindle, 79 | -- awful.layout.suit.spiral, 80 | -- awful.layout.suit.fair, 81 | -- awful.layout.suit.fair.horizontal, 82 | -- awful.layout.suit.max.fullscreen, 83 | -- awful.layout.suit.magnifier, 84 | -- awful.layout.suit.corner.nw, 85 | -- awful.layout.suit.corner.ne, 86 | -- awful.layout.suit.corner.sw, 87 | -- awful.layout.suit.corner.se, 88 | } 89 | -- }}} 90 | 91 | -- -- {{{ Menu 92 | -- -- Create a launcher widget and a main menu 93 | -- myawesomemenu = { 94 | -- { "Hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end }, 95 | -- { "Manual", terminal .. " -e man awesome" }, 96 | -- { "Edit config", editor_cmd .. " " .. awesome.conffile }, 97 | -- { "Restart", awesome.restart }, 98 | -- { "Quit", function() awesome.quit() end }, 99 | -- } 100 | -- 101 | -- myapplicationsmenu = { 102 | -- { "Terminal", terminal }, 103 | -- { "Browser", browser }, 104 | -- { "Wallpaper setter", wallpaper_setter }, 105 | -- } 106 | -- 107 | -- mymainmenu = awful.menu({ items = { { "Awesome", myawesomemenu }, 108 | -- { "Applications", myapplicationsmenu } 109 | -- } 110 | -- }) 111 | -- 112 | -- -- mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, 113 | -- -- menu = mymainmenu }) 114 | -- 115 | -- -- Menubar configuration 116 | -- menubar.utils.terminal = terminal -- Set the terminal for applications that require it 117 | -- }}} 118 | 119 | -- Keyboard map indicator and switcher 120 | -- mykeyboardlayout = awful.widget.keyboardlayout() 121 | 122 | -- {{{ Wibar 123 | -- Create a textclock widget 124 | -- mytextclock = wibox.widget.textclock() 125 | 126 | -- Create a wibox for each screen and add it 127 | -- local taglist_buttons = gears.table.join( 128 | -- awful.button({ }, 1, function(t) t:view_only() end), 129 | -- awful.button({ superkey }, 1, function(t) 130 | -- if client.focus then 131 | -- client.focus:move_to_tag(t) 132 | -- end 133 | -- end), 134 | -- awful.button({ }, 3, awful.tag.viewtoggle), 135 | -- awful.button({ superkey }, 3, function(t) 136 | -- if client.focus then 137 | -- client.focus:toggle_tag(t) 138 | -- end 139 | -- end), 140 | -- awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), 141 | -- awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) 142 | -- ) 143 | -- 144 | -- local tasklist_buttons = gears.table.join( 145 | -- awful.button({ }, 1, function (c) 146 | -- if c == client.focus then 147 | -- c.minimized = true 148 | -- else 149 | -- c:emit_signal( 150 | -- "request::activate", 151 | -- "tasklist", 152 | -- {raise = true} 153 | -- ) 154 | -- end 155 | -- end), 156 | -- awful.button({ }, 3, function() 157 | -- awful.menu.client_list({ theme = { width = 250 } }) 158 | -- end), 159 | -- awful.button({ }, 4, function () 160 | -- awful.client.focus.byidx(1) 161 | -- end), 162 | -- awful.button({ }, 5, function () 163 | -- awful.client.focus.byidx(-1) 164 | -- end)) 165 | 166 | -- local function set_wallpaper(s) 167 | -- -- Wallpaper 168 | -- if beautiful.wallpaper then 169 | -- local wallpaper = beautiful.wallpaper 170 | -- -- If wallpaper is a function, call it with the screen 171 | -- if type(wallpaper) == "function" then 172 | -- wallpaper = wallpaper(s) 173 | -- end 174 | -- gears.wallpaper.maximized(wallpaper, s, true) 175 | -- end 176 | -- end 177 | -- 178 | -- -- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) 179 | -- screen.connect_signal("property::geometry", set_wallpaper) 180 | 181 | awful.screen.connect_for_each_screen(function(s) 182 | -- Wallpaper 183 | -- set_wallpaper(s) 184 | 185 | -- Each screen has its own tag table. 186 | -- awful.tag({ "DEV", "WWW", "SYS", "DOC", "VBOX", "CHAT", "MUS", "VID", "FGX" }, s, awful.layout.layouts[1]) 187 | -- awful.tag({ "dev", "www", "sys", "doc", "vbox", "chat", "mus", "vid", "gfx" }, s, awful.layout.layouts[1]) 188 | awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) 189 | -- awful.tag({ "1", "2", "3", "4", "5" }, s, awful.layout.layouts[1]) 190 | 191 | -- -- Create a promptbox for each screen 192 | -- s.mypromptbox = awful.widget.prompt() 193 | -- -- Create an imagebox widget which will contain an icon indicating which layout we're using. 194 | -- -- -- We need one layoutbox per screen. 195 | -- -- s.mylayoutbox = awful.widget.layoutbox(s) 196 | -- -- s.mylayoutbox:buttons(gears.table.join( 197 | -- -- awful.button({ }, 1, function () awful.layout.inc( 1) end), 198 | -- -- awful.button({ }, 3, function () awful.layout.inc(-1) end), 199 | -- -- awful.button({ }, 4, function () awful.layout.inc( 1) end), 200 | -- -- awful.button({ }, 5, function () awful.layout.inc(-1) end))) 201 | -- -- Create a taglist widget 202 | -- s.mytaglist = awful.widget.taglist { 203 | -- screen = s, 204 | -- filter = awful.widget.taglist.filter.all, 205 | -- buttons = taglist_buttons 206 | -- } 207 | -- 208 | -- -- Create a tasklist widget 209 | -- s.mytasklist = awful.widget.tasklist { 210 | -- screen = s, 211 | -- filter = awful.widget.tasklist.filter.currenttags, 212 | -- buttons = tasklist_buttons 213 | -- } 214 | -- 215 | -- -- Create the wibox 216 | -- s.mywibox = awful.wibar({ position = "top", screen = s }) 217 | -- 218 | -- -- Add widgets to the wibox 219 | -- s.mywibox:setup { 220 | -- layout = wibox.layout.align.horizontal, 221 | -- { -- Left widgets 222 | -- layout = wibox.layout.fixed.horizontal, 223 | -- mylauncher, 224 | -- s.mytaglist, 225 | -- s.mypromptbox, 226 | -- }, 227 | -- s.mytasklist, -- Middle widget 228 | -- { -- Right widgets 229 | -- layout = wibox.layout.fixed.horizontal, 230 | -- mykeyboardlayout, 231 | -- wibox.widget.systray(), 232 | -- mytextclock, 233 | -- s.mylayoutbox, 234 | -- }, 235 | -- } 236 | end) 237 | -- }}} 238 | 239 | -- {{{ Mouse bindings 240 | root.buttons(gears.table.join( 241 | -- awful.button({ }, 3, function () end), 242 | 243 | -- Switch tags on desktop scroll 244 | awful.button({ }, 4, awful.tag.viewnext), 245 | awful.button({ }, 5, awful.tag.viewprev), 246 | awful.button({ }, 6, function() awful.client.focus.byidx( 1) end), 247 | awful.button({ }, 7, function() awful.client.focus.byidx( -1) end) 248 | )) 249 | -- }}} 250 | 251 | -- {{{ Key bindings 252 | globalkeys = gears.table.join( 253 | -- Cheat sheet 254 | awful.key({ superkey }, "s", hotkeys_popup.show_help, 255 | {description="show help", group="awesome"} 256 | ), 257 | 258 | -- Hide/show Bar 259 | awful.key({ superkey }, "b", function() awful.util.spawn("polybar-msg cmd toggle") end, 260 | {description="toggle polybar's visibility", group="polybar"} 261 | ), 262 | 263 | -- Hide/show titlebars 264 | awful.key({ superkey, "Shift" }, "b", 265 | function () 266 | local c = client.focus 267 | if c then 268 | awful.titlebar.toggle(c, "top") 269 | end 270 | end, 271 | {description="toggle titlebar visibility", group="awesome"} 272 | ), 273 | 274 | -- Launch terminal 275 | awful.key({ superkey }, "Return", function() awful.spawn(terminal) end, 276 | {description="Launch terminal emulator", group="applications"} 277 | ), 278 | 279 | -- Applications keychord 280 | awful.key({ superkey }, "a", function() 281 | local grabber 282 | grabber = 283 | awful.keygrabber.run( 284 | function(_, key, event) 285 | if event == "release" then return end 286 | 287 | if key == "t" then awful.spawn(terminal) 288 | elseif key == "b" then awful.spawn(browser) 289 | elseif key == "f" then awful.spawn(file_browser) 290 | elseif key == "e" then awful.spawn(editor_cmd) 291 | elseif key == "w" then awful.spawn(wallpaper_setter) 292 | end 293 | awful.keygrabber.stop(grabber) 294 | end 295 | ) 296 | end, 297 | {description = "Applications keychord", group = "applications"} 298 | ), 299 | 300 | -- Rofi 301 | awful.key({ superkey }, "p", function() awful.spawn.with_shell("polybar-msg cmd show ; rofi -show drun") end, 302 | {description="Rofi launcher", group="applications"} 303 | ), 304 | -- Rofi keychord 305 | awful.key( { superkey, "Shift" }, "p", function() 306 | local grabber 307 | grabber = 308 | awful.keygrabber.run( 309 | function(_, key, event) 310 | if event == "release" then return end 311 | 312 | if key == "a" then awful.spawn.with_shell("polybar-msg cmd show ; rofi -show drun") 313 | elseif key == "r" then awful.spawn.with_shell("polybar-msg cmd show ; rofi -show run") 314 | elseif key == "p" then awful.spawn.with_shell("polybar-msg cmd show ; sh ~/.config/rofi/scripts/rofi-exit.sh") 315 | elseif key == "w" then awful.spawn.with_shell("polybar-msg cmd show ; rofi -show window") 316 | elseif key == "f" then awful.spawn.with_shell("polybar-msg cmd show ; rofi -show filebrowser") 317 | elseif key == "s" then awful.spawn.with_shell("polybar-msg cmd show ; rofi -show ssh") 318 | end 319 | awful.keygrabber.stop(grabber) 320 | end 321 | ) 322 | end, 323 | {description = "Rofi scripts keychord", group = "applications"} 324 | ), 325 | 326 | -- Switch focus to next/previous window 327 | awful.key({ superkey }, "Tab", 328 | function () 329 | awful.client.focus.byidx( 1) 330 | end, 331 | {description = "focus next by index", group = "client"} 332 | ), 333 | awful.key({ superkey, "Shift" }, "Tab", 334 | function () 335 | awful.client.focus.byidx(-1) 336 | end, 337 | {description = "focus previous by index", group = "client"} 338 | ), 339 | 340 | -- Swap windows 341 | awful.key({ superkey }, "h", function () awful.client.swap.global_bydirection("left") end, 342 | {description = "swap with left client", group = "client"} 343 | ), 344 | awful.key({ superkey }, "l", function () awful.client.swap.global_bydirection("right") end, 345 | {description = "swap with right client", group = "client"} 346 | ), 347 | awful.key({ superkey }, "k", function () awful.client.swap.global_bydirection("up") end, 348 | {description = "swap with top client", group = "client"} 349 | ), 350 | awful.key({ superkey }, "j", function () awful.client.swap.global_bydirection("down") end, 351 | {description = "swap with bottom client", group = "client"} 352 | ), 353 | 354 | -- Resize windows 355 | awful.key({ superkey, "Shift" }, "h", function () awful.tag.incmwfact(-0.02) end, 356 | {description = "decrease master width factor", group = "layout"} 357 | ), 358 | awful.key({ superkey, "Shift" }, "j", function () awful.client.incwfact( 0.1) end, 359 | {description = "increase slave height factor", group = "layout"} 360 | ), 361 | awful.key({ superkey, "Shift" }, "k", function () awful.client.incwfact(-0.1) end, 362 | {description = "decrease slave height factor", group = "layout"} 363 | ), 364 | awful.key({ superkey, "Shift" }, "l", function () awful.tag.incmwfact( 0.02) end, 365 | {description = "increase master width factor", group = "layout"} 366 | ), 367 | 368 | -- Switch layouts 369 | awful.key({ superkey, "Control" }, "h", function () awful.layout.set(awful.layout.suit.tile) end, 370 | {description = "Switch to master and stack layout (master on the left)", group = "layout"} 371 | ), 372 | awful.key({ superkey, "Control" }, "j", function () awful.layout.set(awful.layout.suit.tile.top) end, 373 | {description = "Switch to master and stack layout (master on the bottom)", group = "layout"} 374 | ), 375 | awful.key({ superkey, "Control" }, "k", function () awful.layout.set(awful.layout.suit.tile.bottom) end, 376 | {description = "Switch to master and stack layout (master on the top)", group = "layout"} 377 | ), 378 | awful.key({ superkey, "Control" }, "l", function () awful.layout.set(awful.layout.suit.tile.left) end, 379 | {description = "Switch to master and stack layout (master on the right)", group = "layout"} 380 | ), 381 | -- awful.key({ superkey }, "space", function () awful.layout.inc( 1) end, 382 | -- {description = "select next", group = "layout"} 383 | -- ), 384 | -- awful.key({ superkey, "Shift" }, "space", function () awful.layout.inc(-1) end, 385 | -- {description = "select previous", group = "layout"} 386 | -- ), 387 | 388 | awful.key({ superkey }, "m", function () awful.layout.set(awful.layout.suit.max) end, 389 | {description = "Switch to max layout", group = "layout"} 390 | ), 391 | 392 | -- Restart and quit Awesome 393 | awful.key({ superkey, "Control" }, "r", awesome.restart, 394 | {description = "reload awesome", group = "awesome"} 395 | ), 396 | awful.key({ superkey, "Shift" }, "Escape", awesome.quit, 397 | {description = "quit awesome", group = "awesome"} 398 | ), 399 | 400 | -- Unminize windows 401 | awful.key({ superkey, "Shift" }, "n", 402 | function () 403 | local c = awful.client.restore() 404 | -- Focus restored client 405 | if c then 406 | c:emit_signal( 407 | "request::activate", "key.unminimize", {raise = true} 408 | ) 409 | end 410 | end, 411 | {description = "restore minimized", group = "client"} 412 | ) 413 | ) 414 | 415 | clientkeys = gears.table.join( 416 | -- Toggle window states 417 | awful.key({ superkey }, "f", 418 | function (c) 419 | c.fullscreen = not c.fullscreen 420 | c:raise() 421 | end, 422 | {description = "toggle fullscreen", group = "client"} 423 | ), 424 | awful.key({ superkey }, "w", awful.client.floating.toggle, 425 | {description = "toggle floating", group = "client"} 426 | ), 427 | awful.key({ superkey }, "o", function (c) c.ontop = not c.ontop end, 428 | {description = "toggle keep on top", group = "client"} 429 | ), 430 | 431 | -- Close windows 432 | awful.key({ superkey, "Shift" }, "q", function (c) c:kill() end, 433 | {description = "close", group = "client"} 434 | ), 435 | 436 | -- Swap master with slave window 437 | awful.key({ superkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end, 438 | {description = "move to master", group = "client"} 439 | ), 440 | 441 | -- Minimize windows 442 | awful.key({ superkey }, "n", 443 | function (c) 444 | -- The client currently has the input focus, so it cannot be 445 | -- minimized, since minimized clients can't have the focus. 446 | c.minimized = true 447 | end, 448 | {description = "minimize", group = "client"} 449 | ) 450 | ) 451 | 452 | -- Bind all key numbers to tags. 453 | -- Be careful: we use keycodes to make it work on any keyboard layout. 454 | -- This should map on the top row of your keyboard, usually 1 to 9. 455 | for i = 1, 9 do 456 | globalkeys = gears.table.join(globalkeys, 457 | -- View tag only. 458 | awful.key({ superkey }, "#" .. i + 9, 459 | function () 460 | local screen = awful.screen.focused() 461 | local tag = screen.tags[i] 462 | if tag then 463 | tag:view_only() 464 | end 465 | end, 466 | {description = "view tag #"..i, group = "tag"} 467 | ), 468 | 469 | -- Toggle tag display. 470 | awful.key({ superkey, "Control" }, "#" .. i + 9, 471 | function () 472 | local screen = awful.screen.focused() 473 | local tag = screen.tags[i] 474 | if tag then 475 | awful.tag.viewtoggle(tag) 476 | end 477 | end, 478 | {description = "toggle tag #" .. i, group = "tag"} 479 | ), 480 | 481 | -- Move client to tag. 482 | awful.key({ superkey, "Shift" }, "#" .. i + 9, 483 | function () 484 | if client.focus then 485 | local tag = client.focus.screen.tags[i] 486 | if tag then 487 | client.focus:move_to_tag(tag) 488 | tag:view_only() 489 | end 490 | end 491 | end, 492 | {description = "move focused client to tag #"..i, group = "tag"} 493 | ), 494 | 495 | -- Toggle tag on focused client. 496 | awful.key({ superkey, "Control", "Shift" }, "#" .. i + 9, 497 | function () 498 | if client.focus then 499 | local tag = client.focus.screen.tags[i] 500 | if tag then 501 | client.focus:toggle_tag(tag) 502 | end 503 | end 504 | end, 505 | {description = "toggle focused client on tag #" .. i, group = "tag"} 506 | ) 507 | ) 508 | end 509 | 510 | clientbuttons = gears.table.join( 511 | -- Switch focus with mouse 512 | awful.button({ }, 1, function (c) 513 | c:emit_signal("request::activate", "mouse_click", {raise = true}) 514 | end), 515 | 516 | -- Move window with mouse 517 | awful.button({ superkey }, 1, function (c) 518 | c:emit_signal("request::activate", "mouse_click", {raise = true}) 519 | awful.mouse.client.move(c) 520 | end), 521 | 522 | -- Resize window with mouse 523 | awful.button({ superkey }, 3, function (c) 524 | c:emit_signal("request::activate", "mouse_click", {raise = true}) 525 | awful.mouse.client.resize(c) 526 | end), 527 | 528 | -- Kill window with mouse 529 | awful.button({ superkey, "Shift" }, 2, function (c) 530 | c:emit_signal("request::activate", "mouse_click", {raise = true}) 531 | c:kill() 532 | end) 533 | ) 534 | 535 | -- Set keys 536 | root.keys(globalkeys) 537 | -- }}} 538 | 539 | -- {{{ Rules 540 | -- Rules to apply to new clients (through the "manage" signal). 541 | awful.rules.rules = { 542 | -- All clients will match this rule. 543 | { rule = { }, 544 | except_any = { class = {"Polybar"} }, 545 | properties = { size_hints_honor = false, 546 | border_width = beautiful.border_width, 547 | border_color = beautiful.border_normal, 548 | focus = awful.client.focus.filter, 549 | raise = true, 550 | keys = clientkeys, 551 | buttons = clientbuttons, 552 | screen = awful.screen.preferred, 553 | placement = awful.placement.no_overlap+awful.placement.no_offscreen, 554 | } 555 | 556 | }, 557 | 558 | -- Floating clients. 559 | { rule_any = { 560 | instance = { 561 | "DTA", -- Firefox addon DownThemAll. 562 | "copyq", -- Includes session name in class. 563 | "pinentry", 564 | }, 565 | class = { 566 | "Arandr", 567 | "Blueman-manager", 568 | "Gpick", 569 | "Kruler", 570 | "MessageWin", -- kalarm. 571 | "Sxiv", 572 | "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. 573 | "Wpa_gui", 574 | "veromix", 575 | "xtightvncviewer"}, 576 | 577 | -- Note that the name property shown in xprop might be set slightly after creation of the client 578 | -- and the name shown there might not match defined rules here. 579 | name = { 580 | "Event Tester", -- xev. 581 | }, 582 | role = { 583 | "AlarmWindow", -- Thunderbird's calendar. 584 | "ConfigManager", -- Thunderbird's about:config. 585 | "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. 586 | } 587 | }, properties = { floating = true }}, 588 | 589 | -- Add titlebars to normal clients and dialogs 590 | { rule_any = {type = { "normal", "dialog" } 591 | }, properties = { titlebars_enabled = show_titlebars } 592 | }, 593 | 594 | -- Set Firefox to always map on the tag named "2" on screen 1. 595 | -- { rule = { class = "Firefox" }, 596 | -- properties = { screen = 1, tag = "2" } }, 597 | } 598 | -- }}} 599 | 600 | -- {{{ Signals 601 | -- Signal function to execute when a new client appears. 602 | client.connect_signal("manage", function (c) 603 | -- Set the windows at the slave, 604 | -- i.e. put it at the end of others instead of setting it master. 605 | if not awesome.startup then awful.client.setslave(c) end 606 | 607 | if awesome.startup 608 | and not c.size_hints.user_position 609 | and not c.size_hints.program_position then 610 | -- Prevent clients from being unreachable after screen count changes. 611 | awful.placement.no_offscreen(c) 612 | end 613 | end) 614 | 615 | -- Add a titlebar if titlebars_enabled is set to true in the rules. 616 | client.connect_signal("request::titlebars", function(c) 617 | -- buttons for the titlebar 618 | local buttons = gears.table.join( 619 | awful.button({ }, 1, function() 620 | c:emit_signal("request::activate", "titlebar", {raise = true}) 621 | awful.mouse.client.move(c) 622 | end), 623 | awful.button({ }, 3, function() 624 | c:emit_signal("request::activate", "titlebar", {raise = true}) 625 | awful.mouse.client.resize(c) 626 | end) 627 | ) 628 | 629 | awful.titlebar(c, {size = 24}) : setup { 630 | { -- Left 631 | -- awful.titlebar.widget.iconwidget(c), 632 | awful.titlebar.widget.floatingbutton (c), 633 | awful.titlebar.widget.ontopbutton (c), 634 | -- buttons = buttons, 635 | layout = wibox.layout.fixed.horizontal 636 | }, 637 | { -- Middle 638 | { -- Title 639 | align = "center", 640 | widget = awful.titlebar.widget.titlewidget(c), 641 | layout = wibox.layout.flex.horizontal 642 | }, 643 | buttons = buttons, 644 | layout = wibox.layout.flex.horizontal 645 | }, 646 | { -- Right 647 | awful.titlebar.widget.minimizebutton (c), 648 | awful.titlebar.widget.maximizedbutton (c), 649 | awful.titlebar.widget.closebutton (c), 650 | awful.titlebar.widget.stickybutton (c), 651 | layout = wibox.layout.fixed.horizontal() 652 | }, 653 | layout = wibox.layout.align.horizontal 654 | } 655 | end) 656 | 657 | awful.titlebar.enable_tooltip = false 658 | 659 | -- Enable sloppy focus, so that focus follows mouse. 660 | -- client.connect_signal("mouse::enter", function(c) 661 | -- c:emit_signal("request::activate", "mouse_enter", {raise = false}) 662 | -- end) 663 | 664 | client.connect_signal("manage", function(c) 665 | if ( c.class ~= "Polybar" and c.requests_no_titlebar == true ) then 666 | c.shape = function(cr, w, h) 667 | if c.fullscreen == false then 668 | gears.shape.partially_rounded_rect(cr, w, h, true, true, false, false, border_radius) 669 | else 670 | gears.shape.rounded_rect(cr, w, h, 0) 671 | end 672 | end 673 | end 674 | end ) 675 | 676 | client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) 677 | client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) 678 | -- }}} 679 | 680 | -- Autostart programs 681 | awful.spawn.with_shell("compton --config ~/.config/compton/compton.conf") 682 | awful.spawn.with_shell("nitrogen --restore") 683 | awful.spawn.with_shell("~/.config/polybar/launch.sh") 684 | 685 | awful.screen.connect_for_each_screen(function(s) 686 | s.padding = { 687 | left = outer_gap, 688 | right = outer_gap, 689 | top = outer_gap, 690 | bottom = outer_gap 691 | } 692 | end) 693 | -------------------------------------------------------------------------------- /awesome/theme.lua: -------------------------------------------------------------------------------- 1 | ------------------------------- 2 | -- Non default awesome theme -- 3 | ------------------------------- 4 | 5 | local theme_assets = require("beautiful.theme_assets") 6 | local xresources = require("beautiful.xresources") 7 | local dpi = xresources.apply_dpi 8 | 9 | local gfs = require("gears.filesystem") 10 | local themes_path = gfs.get_themes_dir() 11 | 12 | local theme = {} 13 | 14 | theme.font = "FiraCode Nerd Font 13" 15 | 16 | theme.bg_normal = "#3b4252" 17 | theme.bg_focus = "#ECEFF4" 18 | theme.bg_urgent = "#ff0000" 19 | theme.bg_minimize = "#444444" 20 | theme.bg_systray = theme.bg_normal 21 | 22 | theme.fg_normal = "#ECEFF4" 23 | theme.fg_focus = "#2e3440" 24 | theme.fg_urgent = "#ffffff" 25 | theme.fg_minimize = "#ffffff" 26 | 27 | theme.useless_gap = 4 28 | theme.border_width = 4 29 | theme.border_normal = "#3b4252" 30 | theme.border_focus = "#ECEFF4" 31 | theme.border_marked = "#91231c" 32 | 33 | -- There are other variable sets 34 | -- overriding the default one when 35 | -- defined, the sets are: 36 | -- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] 37 | -- tasklist_[bg|fg]_[focus|urgent] 38 | -- titlebar_[bg|fg]_[normal|focus] 39 | -- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] 40 | -- mouse_finder_[color|timeout|animate_timeout|radius|factor] 41 | -- prompt_[fg|bg|fg_cursor|bg_cursor|font] 42 | -- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] 43 | -- Example: 44 | --theme.taglist_bg_focus = "#ff0000" 45 | 46 | -- Generate taglist squares: 47 | local taglist_square_size = dpi(4) 48 | theme.taglist_squares_sel = theme_assets.taglist_squares_sel( 49 | taglist_square_size, theme.fg_normal 50 | ) 51 | theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( 52 | taglist_square_size, theme.fg_normal 53 | ) 54 | 55 | -- Variables set for theming notifications: 56 | -- notification_font 57 | -- notification_[bg|fg] 58 | -- notification_[width|height|margin] 59 | -- notification_[border_color|border_width|shape|opacity] 60 | theme.notification_font = "source code pro 13" 61 | theme.notification_bg = "#2e3440" 62 | theme.notification_fg = "#eceff4" 63 | theme.notification_border_width = 200 64 | theme.notification_border_color = "#eceff4" 65 | theme.notification_width = 500 66 | theme.notification_height = 100 67 | 68 | -- Variables set for theming the menu: 69 | -- menu_[bg|fg]_[normal|focus] 70 | -- menu_[border_color|border_width] 71 | theme.menu_submenu_icon = themes_path.."default/submenu.png" 72 | theme.menu_height = dpi(30) 73 | theme.menu_width = dpi(175) 74 | 75 | -- You can add as many variables as 76 | -- you wish and access them by using 77 | -- beautiful.variable in your rc.lua 78 | --theme.bg_widget = "#cc0000" 79 | 80 | -- Define the image to load 81 | theme.titlebar_close_button_normal = "~/.config/awesome/titlebar/close.png" 82 | theme.titlebar_close_button_focus = "~/.config/awesome/titlebar/close.png" 83 | 84 | theme.titlebar_minimize_button_normal = "~/.config/awesome/titlebar/minimize.png" 85 | theme.titlebar_minimize_button_focus = "~/.config/awesome/titlebar/minimize.png" 86 | 87 | theme.titlebar_ontop_button_normal_inactive = "~/.config/awesome/titlebar/ontop_normal_inactive.png" 88 | theme.titlebar_ontop_button_focus_inactive = "~/.config/awesome/titlebar/ontop_focus_inactive.png" 89 | theme.titlebar_ontop_button_normal_active = "~/.config/awesome/titlebar/ontop_active.png" 90 | theme.titlebar_ontop_button_focus_active = "~/.config/awesome/titlebar/ontop_active.png" 91 | 92 | -- theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" 93 | -- theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" 94 | -- theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" 95 | -- theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" 96 | 97 | theme.titlebar_floating_button_normal_inactive = "~/.config/awesome/titlebar/floating_normal_inactive.png" 98 | theme.titlebar_floating_button_focus_inactive = "~/.config/awesome/titlebar/floating_focus_inactive.png" 99 | theme.titlebar_floating_button_normal_active = "~/.config/awesome/titlebar/floating_active.png" 100 | theme.titlebar_floating_button_focus_active = "~/.config/awesome/titlebar/floating_active.png" 101 | 102 | theme.titlebar_maximized_button_normal_inactive = "~/.config/awesome/titlebar/maximized.png" 103 | theme.titlebar_maximized_button_focus_inactive = "~/.config/awesome/titlebar/maximized.png" 104 | theme.titlebar_maximized_button_normal_active = "~/.config/awesome/titlebar/maximized.png" 105 | theme.titlebar_maximized_button_focus_active = "~/.config/awesome/titlebar/maximized.png" 106 | 107 | theme.wallpaper = "~/.config/awesome/wallpaper.png" 108 | 109 | -- You can use your own layout icons like this: 110 | theme.layout_fairh = themes_path.."default/layouts/fairhw.png" 111 | theme.layout_fairv = themes_path.."default/layouts/fairvw.png" 112 | theme.layout_floating = themes_path.."default/layouts/floatingw.png" 113 | theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" 114 | theme.layout_max = themes_path.."default/layouts/maxw.png" 115 | theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" 116 | theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" 117 | theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" 118 | theme.layout_tile = themes_path.."default/layouts/tilew.png" 119 | theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" 120 | theme.layout_spiral = themes_path.."default/layouts/spiralw.png" 121 | theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" 122 | theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" 123 | theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" 124 | theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" 125 | theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" 126 | 127 | -- Generate Awesome icon:themes_path.. 128 | theme.awesome_icon = theme_assets.awesome_icon( 129 | theme.menu_height, theme.bg_focus, theme.fg_focus 130 | ) 131 | 132 | -- Define the icon theme for application icons. If not set then the icons 133 | -- from /usr/share/icons and /usr/share/icons/hicolor will be used. 134 | theme.icon_theme = nil 135 | 136 | return theme 137 | 138 | -- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 139 | -------------------------------------------------------------------------------- /awesome/titlebar/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/close.png -------------------------------------------------------------------------------- /awesome/titlebar/floating_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/floating_active.png -------------------------------------------------------------------------------- /awesome/titlebar/floating_focus_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/floating_focus_inactive.png -------------------------------------------------------------------------------- /awesome/titlebar/floating_normal_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/floating_normal_inactive.png -------------------------------------------------------------------------------- /awesome/titlebar/maximized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/maximized.png -------------------------------------------------------------------------------- /awesome/titlebar/minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/minimize.png -------------------------------------------------------------------------------- /awesome/titlebar/ontop_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/ontop_active.png -------------------------------------------------------------------------------- /awesome/titlebar/ontop_focus_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/ontop_focus_inactive.png -------------------------------------------------------------------------------- /awesome/titlebar/ontop_normal_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/awesome/titlebar/ontop_normal_inactive.png -------------------------------------------------------------------------------- /bpytop/bpytop.conf: -------------------------------------------------------------------------------- 1 | #? Config file for bpytop v. 1.0.68 2 | 3 | #* Color theme, looks for a .theme file in "/usr/[local/]share/bpytop/themes" and "~/.config/bpytop/themes", "Default" for builtin default theme. 4 | #* Prefix name by a plus sign (+) for a theme located in user themes folder, i.e. color_theme="+monokai" 5 | color_theme="nord" 6 | 7 | #* If the theme set background should be shown, set to False if you want terminal background transparency 8 | theme_background=True 9 | 10 | #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. 11 | truecolor=True 12 | 13 | #* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. 14 | shown_boxes="proc" 15 | 16 | #* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs. 17 | update_ms=2000 18 | 19 | #* Processes update multiplier, sets how often the process list is updated as a multiplier of "update_ms". 20 | #* Set to 2 or higher to greatly decrease bpytop cpu usage. (Only integers) 21 | proc_update_mult=2 22 | 23 | #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive", 24 | #* "cpu lazy" updates top process over time, "cpu responsive" updates top process directly. 25 | proc_sorting="cpu lazy" 26 | 27 | #* Reverse sorting order, True or False. 28 | proc_reversed=False 29 | 30 | #* Show processes as a tree 31 | proc_tree=False 32 | 33 | #* Which depth the tree view should auto collapse processes at 34 | tree_depth=3 35 | 36 | #* Use the cpu graph colors in the process list. 37 | proc_colors=True 38 | 39 | #* Use a darkening gradient in the process list. 40 | proc_gradient=True 41 | 42 | #* If process cpu usage should be of the core it's running on or usage of the total available cpu power. 43 | proc_per_core=False 44 | 45 | #* Show process memory as bytes instead of percent 46 | proc_mem_bytes=True 47 | 48 | #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available, see: 49 | #* https://psutil.readthedocs.io/en/latest/#psutil.cpu_times for attributes available on specific platforms. 50 | #* Select from a list of detected attributes from the options menu 51 | cpu_graph_upper="total" 52 | 53 | #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available, see: 54 | #* https://psutil.readthedocs.io/en/latest/#psutil.cpu_times for attributes available on specific platforms. 55 | #* Select from a list of detected attributes from the options menu 56 | cpu_graph_lower="total" 57 | 58 | #* Toggles if the lower CPU graph should be inverted. 59 | cpu_invert_lower=True 60 | 61 | #* Set to True to completely disable the lower CPU graph. 62 | cpu_single_graph=False 63 | 64 | #* Shows the system uptime in the CPU box. 65 | show_uptime=True 66 | 67 | #* Check cpu temperature, needs "osx-cpu-temp" on MacOS X. 68 | check_temp=True 69 | 70 | #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. 71 | cpu_sensor=Auto 72 | 73 | #* Show temperatures for cpu cores also if check_temp is True and sensors has been found 74 | show_coretemp=True 75 | 76 | #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine" 77 | temp_scale="celsius" 78 | 79 | #* Show CPU frequency, can cause slowdowns on certain systems with some versions of psutil 80 | show_cpu_freq=True 81 | 82 | #* Draw a clock at top of screen, formatting according to strftime, empty string to disable. 83 | draw_clock="%X" 84 | 85 | #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. 86 | background_update=True 87 | 88 | #* Custom cpu model name, empty string to disable. 89 | custom_cpu_name="" 90 | 91 | #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with a comma ",". 92 | #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot, /home/user" 93 | disks_filter="" 94 | 95 | #* Show graphs instead of meters for memory values. 96 | mem_graphs=True 97 | 98 | #* If swap memory should be shown in memory box. 99 | show_swap=True 100 | 101 | #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. 102 | swap_disk=True 103 | 104 | #* If mem box should be split to also show disks info. 105 | show_disks=True 106 | 107 | #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. 108 | only_physical=True 109 | 110 | #* Read disks list from /etc/fstab. This also disables only_physical. 111 | use_fstab=False 112 | 113 | #* Toggles if io stats should be shown in regular disk usage view 114 | show_io_stat=True 115 | 116 | #* Toggles io mode for disks, showing only big graphs for disk read/write speeds. 117 | io_mode=False 118 | 119 | #* Set to True to show combined read/write io graphs in io mode. 120 | io_graph_combined=False 121 | 122 | #* Set the top speed for the io graphs in MiB/s (10 by default), use format "device:speed" separate disks with a comma ",". 123 | #* Example: "/dev/sda:100, /dev/sdb:20" 124 | io_graph_speeds="" 125 | 126 | #* Set fixed values for network graphs, default "10M" = 10 Mibibytes, possible units "K", "M", "G", append with "bit" for bits instead of bytes, i.e "100mbit" 127 | net_download="10M" 128 | net_upload="10M" 129 | 130 | #* Start in network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. 131 | net_auto=True 132 | 133 | #* Sync the scaling for download and upload to whichever currently has the highest scale 134 | net_sync=False 135 | 136 | #* If the network graphs color gradient should scale to bandwidth usage or auto scale, bandwidth usage is based on "net_download" and "net_upload" values 137 | net_color_fixed=False 138 | 139 | #* Starts with the Network Interface specified here. 140 | net_iface="" 141 | 142 | #* Show battery stats in top right if battery is present 143 | show_battery=True 144 | 145 | #* Show init screen at startup, the init screen is purely cosmetical 146 | show_init=False 147 | 148 | #* Enable check for new version from github.com/aristocratos/bpytop at start. 149 | update_check=True 150 | 151 | #* Set loglevel for "~/.config/bpytop/error.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". 152 | #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. 153 | log_level=WARNING 154 | -------------------------------------------------------------------------------- /bpytop/error.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/bpytop/error.log -------------------------------------------------------------------------------- /compton/compton.conf: -------------------------------------------------------------------------------- 1 | # Shadow 2 | shadow = false; 3 | no-dnd-shadow = true; 4 | no-dock-shadow = true; 5 | clear-shadow = false; 6 | shadow-radius = 3; 7 | shadow-offset-x = 0; 8 | shadow-offset-y = 0; 9 | shadow-opacity = .2; 10 | # shadow-red = 0.0; 11 | # shadow-green = 0.0; 12 | # shadow-blue = 0.0; 13 | shadow-exclude = [ 14 | "class_g = 'dmemu'", 15 | "name = 'Notification'", 16 | "class_g = 'Conky'", 17 | "class_g ?= 'Notify-osd'", 18 | "class_g = 'Cairo-clock'", 19 | "_GTK_FRAME_EXTENTS@:c" 20 | ]; 21 | # shadow-exclude = "n:e:Notification"; 22 | # shadow-exclude-reg = "x10+0+0"; 23 | # xinerama-shadow-crop = true; 24 | 25 | # Opacity 26 | menu-opacity = 1; 27 | inactive-opacity = 1; 28 | active-opacity = 1; 29 | frame-opacity = 1; 30 | inactive-opacity-override = false; 31 | alpha-step = 0.06; 32 | # inactive-dim = 0.2; 33 | # inactive-dim-fixed = true; 34 | blur-background = true; 35 | # blur-background-frame = true; 36 | blur-method = "dual_kawase"; 37 | blur-strength = 5; 38 | blur-kern = "3x3box"; 39 | # blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; 40 | # blur-background-fixed = true; 41 | blur-background-exclude = [ 42 | "window_type = 'dock'", 43 | "window_type = 'desktop'", 44 | "_GTK_FRAME_EXTENTS@:c" 45 | ]; 46 | opacity-rule = [ 47 | # "97:class_g = 'Termite'", 48 | # "97:class_g = 'code-oss'", 49 | # "97:class_g = 'Thunar'", 50 | # "97:class_g = 'Rofi'", 51 | # "97:class_g = 'xfce4-terminal'", 52 | ]; 53 | 54 | # Fading 55 | fading = false; 56 | # fade-delta = 30; 57 | fade-in-step = 0.1; 58 | fade-out-step = 0.1; 59 | # no-fading-openclose = true; 60 | # no-fading-destroyed-argb = true; 61 | fade-exclude = [ ]; 62 | 63 | # Other 64 | backend = "glx"; 65 | mark-wmwin-focused = true; 66 | mark-ovredir-focused = false; 67 | # use-ewmh-active-win = true; 68 | detect-rounded-corners = true; 69 | detect-client-opacity = true; 70 | refresh-rate = 0; 71 | vsync = "none"; 72 | dbe = false; 73 | paint-on-overlay = true; 74 | # sw-opti = true; 75 | # unredir-if-possible = true; 76 | # unredir-if-possible-delay = 5000; 77 | # unredir-if-possible-exclude = [ ]; 78 | focus-exclude = [ "class_g = 'Cairo-clock'" ]; 79 | detect-transient = true; 80 | detect-client-leader = true; 81 | invert-color-include = [ ]; 82 | # resize-damage = 1; 83 | 84 | # GLX backend 85 | # glx-no-stencil = true; 86 | glx-copy-from-front = false; 87 | # glx-use-copysubbuffermesa = true; 88 | # glx-no-rebind-pixmap = true; 89 | glx-swap-method = "undefined"; 90 | # glx-use-gpushader4 = true; 91 | # xrender-sync = true; 92 | # xrender-sync-fence = true; 93 | 94 | # Window type settings 95 | wintypes: 96 | { 97 | tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; }; 98 | }; 99 | -------------------------------------------------------------------------------- /fish/config.fish: -------------------------------------------------------------------------------- 1 | set fish_greeting "" 2 | set PATH ~/.local/bin $PATH 3 | set VIRTUALFISH_HOME ~/projects 4 | 5 | # Abbreviations 6 | abbr ls "exa -1 -la --group-directories-first" 7 | abbr p "sudo pacman" 8 | abbr P "paru" 9 | 10 | # Prompt 11 | starship init fish | source 12 | -------------------------------------------------------------------------------- /fish/fish_variables: -------------------------------------------------------------------------------- 1 | # This file contains fish universal variable definitions. 2 | # VERSION: 3.0 3 | SETUVAR __fish_initialized:3400 4 | SETUVAR fish_color_autosuggestion:4c566a 5 | SETUVAR fish_color_cancel:\x2dr 6 | SETUVAR fish_color_command:81a1c1 7 | SETUVAR fish_color_comment:434c5e 8 | SETUVAR fish_color_cwd:green 9 | SETUVAR fish_color_cwd_root:red 10 | SETUVAR fish_color_end:88c0d0 11 | SETUVAR fish_color_error:ebcb8b 12 | SETUVAR fish_color_escape:00a6b2 13 | SETUVAR fish_color_history_current:\x2d\x2dbold 14 | SETUVAR fish_color_host:normal 15 | SETUVAR fish_color_host_remote:yellow 16 | SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue 17 | SETUVAR fish_color_normal:normal 18 | SETUVAR fish_color_operator:white 19 | SETUVAR fish_color_param:eceff4 20 | SETUVAR fish_color_quote:a3be8c 21 | SETUVAR fish_color_redirection:b48ead 22 | SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack 23 | SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack 24 | SETUVAR fish_color_status:red 25 | SETUVAR fish_color_user:brgreen 26 | SETUVAR fish_color_valid_path:\x2d\x2dunderline 27 | SETUVAR fish_key_bindings:fish_default_key_bindings 28 | SETUVAR fish_pager_color_completion:normal 29 | SETUVAR fish_pager_color_description:B3A06D\x1eyellow 30 | SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline 31 | SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan 32 | SETUVAR fish_pager_color_selected_background:\x2dr 33 | SETUVAR fish_user_paths:/home/lominoss/\x2eemacs\x2ed/bin 34 | -------------------------------------------------------------------------------- /gtk-3.0/gtk.css: -------------------------------------------------------------------------------- 1 | VteTerminal, vte-terminal { 2 | padding: 25px; 3 | } 4 | -------------------------------------------------------------------------------- /micro/bindings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Alt-/": "lua:comment.comment", 3 | "CtrlUnderscore": "lua:comment.comment", 4 | "Alt-s": "Save,Quit", 5 | "Alt-h": "HSplit", 6 | "Alt-v": "VSplit", 7 | "CtrlBackspace": "DeleteWordLeft", 8 | } 9 | -------------------------------------------------------------------------------- /micro/colorschemes/nord.micro: -------------------------------------------------------------------------------- 1 | color-link default "brightwhite" 2 | color-link comment "italic bold brightblack" 3 | color-link comment.bright "italic bold brightblack" 4 | color-link identifier "white" 5 | color-link identifier.class "brightcyan" 6 | color-link identifier.macro "brightblack" 7 | color-link identifier.var "white" 8 | color-link indent-char "white" 9 | color-link constant "white" 10 | color-link constant.bool "brightgreen" 11 | color-link constant.bool.true "brightgreen" 12 | color-link constant.bool.false "brightred" 13 | color-link constant.number "magenta" 14 | color-link constant.specialChar "yellow" 15 | color-link constant.string "green" 16 | color-link constant.string.url "brightyellow" 17 | color-link statement "cyan" 18 | color-link symbol "brightblack" 19 | color-link symbol.brackets "white" 20 | color-link symbol.operator "brightblue" 21 | color-link symbol.tag "brightblue" 22 | color-link preproc "blue" 23 | color-link preproc.shebang "brightblack" 24 | color-link type "brightcyan" 25 | color-link type.keyword "brightblue" 26 | color-link special "brightblue" 27 | color-link underlined "brightwhite,black" 28 | color-link error "bold red" 29 | color-link todo "bold magenta" 30 | color-link statusline "bold black,brightwhite" 31 | color-link tabbar "white,black" 32 | color-link indent-char "bold brightblack" 33 | color-link line-number "bold brightblack" 34 | color-link gutter-error "red" 35 | color-link gutter-warning "yellow" 36 | # color-link cursor-line "black" 37 | color-link current-line-number "bold white" 38 | color-link color-column "brightblack" 39 | color-link ignore "white, brightblack" 40 | color-link divider "bold brightwhite,black" 41 | -------------------------------------------------------------------------------- /micro/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "autosu": true, 3 | "colorscheme": "nord", 4 | "divchars": "│─", 5 | "hlsearch": true, 6 | "indentchar": "\u003e", 7 | "rmtrailingws": true, 8 | "savecursor": true, 9 | "saveundo": true, 10 | "smartpaste": false, 11 | "softwrap": true, 12 | "statusformatl": " $(filename) $(modified)\u003e ft:$(opt:filetype) \u003e", 13 | "statusformatr": "\u003c $(opt:encoding) \u003c $(opt:fileformat) \u003c $(percentage):100 ", 14 | "wordwrap": true 15 | } 16 | -------------------------------------------------------------------------------- /nvim/init.lua: -------------------------------------------------------------------------------- 1 | -- PLUGIN CONFIGURATION 2 | require('dashboard-conf') 3 | require('lualine-conf') 4 | require('lsp-conf') 5 | require('completions-conf') 6 | require('treesitter-conf') 7 | require('telescope-fb-conf') 8 | require('indent_blankline-conf') 9 | require('nvimtree-conf') 10 | 11 | -- EDITOR SETTINGS 12 | local g = vim.g 13 | local o = vim.o 14 | 15 | -- cmd('syntax on') 16 | -- vim.api.nvim_command('filetype plugin indent on') 17 | 18 | o.termguicolors = true 19 | 20 | -- Decrease update time 21 | o.timeoutlen = 500 22 | o.updatetime = 200 23 | 24 | -- Color column 25 | -- o.colorcolumn = '100' 26 | 27 | -- Number of screen lines to keep above and below the cursor 28 | o.scrolloff = 8 29 | 30 | -- Better editor UI 31 | o.number = true 32 | o.relativenumber = true 33 | 34 | -- o.cursorline = true 35 | 36 | -- Better editing experience 37 | o.expandtab = true 38 | -- o.smarttab = true 39 | o.cindent = true 40 | -- o.autoindent = true 41 | o.wrap = true 42 | o.textwidth = 300 43 | o.tabstop = 4 44 | o.shiftwidth = 0 45 | o.softtabstop = -1 -- If negative, shiftwidth value is used 46 | 47 | -- Makes neovim and host OS clipboard play nicely with each other 48 | o.clipboard = 'unnamedplus' 49 | 50 | -- Case insensitive searching UNLESS /C or capital in search 51 | o.ignorecase = true 52 | o.smartcase = true 53 | 54 | -- Incremental search 55 | o.incsearch = true 56 | o.hlsearch = false 57 | 58 | -- Undo and backup options 59 | o.backup = false 60 | o.writebackup = false 61 | o.undofile = true 62 | o.swapfile = false 63 | -- o.backupdir = '/tmp/' 64 | -- o.directory = '/tmp/' 65 | -- o.undodir = '/tmp/' 66 | 67 | -- Remember 50 items in commandline history 68 | o.history = 50 69 | 70 | -- Better buffer splitting 71 | o.splitright = true 72 | o.splitbelow = true 73 | 74 | -- Preserve view while jumping 75 | o.jumpoptions = 'view' 76 | 77 | -- Map to space 78 | g.mapleader = ' ' 79 | g.maplocalleader = ' ' 80 | 81 | -- vim.cmd("set cmdheight=0") 82 | 83 | -- KEYBINDINGS 84 | local function map(m, k, v) 85 | vim.keymap.set(m, k, v, { silent = true }) 86 | end 87 | 88 | map('n', '', ':NvimTreeToggle') 89 | 90 | map('v', 'J', ":m '>+1gv=gv") 91 | map('v', 'K', ":m '<-2gv=gv") 92 | 93 | map('n', '', 'zz') 94 | map('n', '', 'zz') 95 | 96 | map('n', 'n', 'nzzzv') 97 | map('n', 'N', 'Nzzzv') 98 | 99 | local builtin = require('telescope.builtin') 100 | map('n', 'ff', builtin.find_files) 101 | map('n', 'fg', builtin.live_grep) 102 | map('n', 'fb', ':Telescope file_browser') 103 | map('n', 'fh', builtin.help_tags) 104 | map('n', 'fr', builtin.oldfiles) 105 | 106 | -- LSP keybindings 107 | -- map('n', 'rn', vim.lsp.buf.rename) 108 | -- map('n', 'ca', vim.lsp.buf.code_action) 109 | 110 | -- map('n', 'gd', vim.lsp.buf.definition) 111 | -- map('n', 'gi', vim.lsp.buf.implementation) 112 | -- map('n', 'gr', require('telescope.builtin').lsp_references) 113 | -- map('n', 'K', vim.lsp.buf.hover) 114 | 115 | -- Indentation configuration 116 | vim.opt.list = true 117 | -- vim.opt.listchars:append 'eol:↴' 118 | vim.opt.listchars:append 'space:·' 119 | 120 | -- Plugin setup 121 | require('colorizer').setup() 122 | 123 | -- PLUGINS 124 | vim.cmd [[ packadd packer.nvim ]] 125 | return require('packer').startup(function(use) 126 | -- Packer can manage itself 127 | use 'wbthomason/packer.nvim' 128 | 129 | -- Better status line 130 | use { 131 | 'nvim-lualine/lualine.nvim', 132 | requires = { 'kyazdani42/nvim-web-devicons', opt = true }, 133 | } 134 | 135 | -- File management 136 | use { 137 | 'nvim-tree/nvim-tree.lua', 138 | requires = { 'kyazdani42/nvim-web-devicons', opt = true } 139 | } 140 | use { 141 | 'nvim-telescope/telescope.nvim', tag = '0.1.0', 142 | requires = { { 'nvim-lua/plenary.nvim', 'burntsushi/ripgrep' } }, 143 | } 144 | use 'nvim-telescope/telescope-file-browser.nvim' 145 | 146 | -- Tpope 147 | use 'tpope/vim-surround' 148 | use 'tpope/vim-commentary' 149 | 150 | -- LSP 151 | use 'neovim/nvim-lspconfig' 152 | use { 153 | 'williamboman/mason.nvim', 154 | 'williamboman/mason-lspconfig.nvim', 155 | } 156 | use 'simrat39/rust-tools.nvim' 157 | 158 | -- Completions 159 | use { 160 | 'hrsh7th/nvim-cmp', 161 | 'hrsh7th/cmp-nvim-lsp', 162 | } 163 | use 'l3mon4d3/luasnip' 164 | use 'saadparwaiz1/cmp_luasnip' 165 | use 'rafamadriz/friendly-snippets' 166 | 167 | -- Syntax highlighting 168 | use ({ 169 | 'shaunsingh/nord.nvim', 170 | as = 'nord', 171 | config = function() 172 | vim.cmd('colorscheme nord') 173 | vim.cmd("highlight WinSeparator guifg=#4c566a") 174 | vim.cmd("highlight LineNr guifg=#eceff4") 175 | vim.cmd("highlight LineNrAbove guifg=#616e88") 176 | vim.cmd("highlight LineNrBelow guifg=#616e88") 177 | end, 178 | }) 179 | use ( 'nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' } ) 180 | 181 | -- Home screen 182 | use 'glepnir/dashboard-nvim' 183 | 184 | -- Clipboard 185 | use 'christoomey/vim-system-copy' 186 | 187 | -- Indentantion 188 | use 'lukas-reineke/indent-blankline.nvim' 189 | use 'tpope/vim-sleuth' 190 | 191 | -- Quality of life 192 | use 'jiangmiao/auto-pairs' 193 | use 'farmergreg/vim-lastplace' 194 | use 'norcalli/nvim-colorizer.lua' 195 | end) 196 | 197 | -------------------------------------------------------------------------------- /nvim/lua/completions-conf/init.lua: -------------------------------------------------------------------------------- 1 | local cmp = require('cmp') 2 | 3 | require('luasnip.loaders.from_vscode').lazy_load() 4 | 5 | cmp.setup({ 6 | mapping = cmp.mapping.preset.insert({ 7 | [''] = cmp.mapping.scroll_docs(-4), 8 | [''] = cmp.mapping.scroll_docs(4), 9 | [''] = cmp.mapping.complete(), 10 | [''] = cmp.mapping.abort(), 11 | [''] = cmp.mapping.confirm({ select = true }), 12 | }), 13 | snippet = { 14 | expand = function(args) 15 | require('luasnip').lsp_expand(args.body) 16 | end, 17 | }, 18 | sources = cmp.config.sources({ 19 | { name = 'nvim_lsp' }, 20 | { name = 'luasnip' }, 21 | }, { 22 | { name = 'buffer' }, 23 | }), 24 | }) 25 | -------------------------------------------------------------------------------- /nvim/lua/dashboard-conf/init.lua: -------------------------------------------------------------------------------- 1 | local db = require('dashboard') 2 | db.custom_header = { 3 | [[================= =============== =============== ======== ========]], 4 | [[\\ . . . . . . .\\ //. . . . . . .\\ //. . . . . . .\\ \\. . .\\// . . //]], 5 | [[||. . ._____. . .|| ||. . ._____. . .|| ||. . ._____. . .|| || . . .\/ . . .||]], 6 | [[|| . .|| ||. . || || . .|| ||. . || || . .|| ||. . || ||. . . . . . . ||]], 7 | [[||. . || || . .|| ||. . || || . .|| ||. . || || . .|| || . | . . . . .||]], 8 | [[|| . .|| ||. _-|| ||-_ .|| ||. . || || . .|| ||. _-|| ||-_.|\ . . . . ||]], 9 | [[||. . || ||-' || || `-|| || . .|| ||. . || ||-' || || `|\_ . .|. .||]], 10 | [[|| . _|| || || || || ||_ . || || . _|| || || || |\ `-_/| . ||]], 11 | [[||_-' || .|/ || || \|. || `-_|| ||_-' || .|/ || || | \ / |-_.||]], 12 | [[|| ||_-' || || `-_|| || || ||_-' || || | \ / | `||]], 13 | [[|| `' || || `' || || `' || || | \ / | ||]], 14 | [[|| .===' `===. .==='.`===. .===' /==. | \/ | ||]], 15 | [[|| .==' \_|-_ `===. .===' _|_ `===. .===' _-|/ `== \/ | ||]], 16 | [[|| .==' _-' `-_ `=' _-' `-_ `=' _-' `-_ /| \/ | ||]], 17 | [[|| .==' _-' '-__\._-' '-_./__-' `' |. /| | ||]], 18 | [[||.==' _-' `' | /==.||]], 19 | [[==' _-' N E O V I M \/ `==]], 20 | [[\ _-' `-_ /]], 21 | [[ `'' ``']], 22 | } 23 | db.custom_footer = {} 24 | -- db.custom_footer = { [[TIP: To exit Neovim, just poweroff]], [[your computer.]] } 25 | -- db.footer_pad = 2 26 | db.hide_statusline = false 27 | db.custom_center = { 28 | { desc = 'Recently opened files ', action = 'Telescope oldfiles', shortcut = 'SPC F R' }, 29 | { desc = 'Find files ', action = 'Telescope find_files', shortcut = 'SPC F F' }, 30 | { desc = 'Browse files ', action = 'Telescope file_browser', shortcut = 'SPC F B' }, 31 | } 32 | -------------------------------------------------------------------------------- /nvim/lua/indent_blankline-conf/init.lua: -------------------------------------------------------------------------------- 1 | require('indent_blankline').setup { 2 | -- char = '┊', 3 | space_char_blankline = " "; 4 | show_trailing_blankline_indent = false, 5 | show_end_of_line = true, 6 | } 7 | -------------------------------------------------------------------------------- /nvim/lua/lsp-conf/init.lua: -------------------------------------------------------------------------------- 1 | require('mason').setup() 2 | require('mason-lspconfig').setup({ 3 | ensure_installed = { 'sumneko_lua', } 4 | }) 5 | local rt = require('rust-tools') 6 | 7 | rt.setup({ 8 | server = { 9 | on_attach = function (_, bufnr) 10 | -- vim.keymap.set('n', 'ca', rt.code_actions_group.code_action_group, { buffer = bufnr }) 11 | -- vim.keymap.set('n', 'K', rt.hover_actions.hover_actions, { buffer = bufnr }) 12 | end, 13 | }, 14 | }) 15 | 16 | local lua_on_attach = function(_, _) 17 | vim.keymap.set('n', 'rn', vim.lsp.buf.rename, {}) 18 | vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, {}) 19 | 20 | vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {}) 21 | vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, {}) 22 | vim.keymap.set('n', 'gr', require('telescope.builtin').lsp_references, {}) 23 | vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) 24 | end 25 | 26 | local capabilities = require('cmp_nvim_lsp').default_capabilities() 27 | 28 | require('lspconfig').sumneko_lua.setup { 29 | on_attach = lua_on_attach, 30 | capabilities = capabilities, 31 | } 32 | -------------------------------------------------------------------------------- /nvim/lua/lualine-conf/init.lua: -------------------------------------------------------------------------------- 1 | -- Eviline config for lualine 2 | -- Author: shadmansaleh 3 | -- Credit: glepnir 4 | local lualine = require('lualine') 5 | 6 | -- Color table for highlights 7 | -- stylua: ignore 8 | local colors = { 9 | bg = '#292f3a', 10 | fg = '#eceff4', 11 | yellow = '#ebcb8b', 12 | cyan = '#88c0d0', 13 | darkblue = '#5e81ac', 14 | green = '#a3be8c', 15 | orange = '#d08770', 16 | violet = '#b48ead', 17 | magenta = '#b48ead', 18 | blue = '#81a1c1', 19 | red = '#bf616a', 20 | unimp = '#616e88', 21 | } 22 | 23 | local conditions = { 24 | buffer_not_empty = function() 25 | return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 26 | end, 27 | hide_in_width = function() 28 | return vim.fn.winwidth(0) > 80 29 | end, 30 | check_git_workspace = function() 31 | local filepath = vim.fn.expand('%:p:h') 32 | local gitdir = vim.fn.finddir('.git', filepath .. ';') 33 | return gitdir and #gitdir > 0 and #gitdir < #filepath 34 | end, 35 | } 36 | 37 | -- Config 38 | local config = { 39 | options = { 40 | -- Disable sections and component separators 41 | component_separators = '', 42 | section_separators = '', 43 | globalstatus = true, 44 | theme = { 45 | -- We are going to use lualine_c an lualine_x as left and 46 | -- right section. Both are highlighted by c theme . So we 47 | -- are just setting default looks o statusline 48 | normal = { c = { fg = colors.fg, bg = colors.bg } }, 49 | inactive = { c = { fg = colors.fg, bg = colors.bg } }, 50 | }, 51 | }, 52 | sections = { 53 | -- these are to remove the defaults 54 | lualine_a = {}, 55 | lualine_b = {}, 56 | lualine_y = {}, 57 | lualine_z = {}, 58 | -- These will be filled later 59 | lualine_c = {}, 60 | lualine_x = {}, 61 | }, 62 | inactive_sections = { 63 | -- these are to remove the defaults 64 | lualine_a = {}, 65 | lualine_b = {}, 66 | lualine_y = {}, 67 | lualine_z = {}, 68 | lualine_c = {}, 69 | lualine_x = {}, 70 | }, 71 | } 72 | 73 | -- Inserts a component in lualine_c at left section 74 | local function ins_left(component) 75 | table.insert(config.sections.lualine_c, component) 76 | end 77 | 78 | -- Inserts a component in lualine_x ot right section 79 | local function ins_right(component) 80 | table.insert(config.sections.lualine_x, component) 81 | end 82 | 83 | ins_left { 84 | 'mode', 85 | color = function() 86 | -- auto change color according to neovims mode 87 | local mode_color = { 88 | n = colors.blue, 89 | i = colors.green, 90 | v = colors.cyan, 91 | ['␖'] = colors.blue, 92 | V = colors.cyan, 93 | c = colors.yellow, 94 | no = colors.red, 95 | s = colors.orange, 96 | S = colors.orange, 97 | ['␓'] = colors.orange, 98 | ic = colors.yellow, 99 | R = colors.violet, 100 | Rv = colors.violet, 101 | cv = colors.red, 102 | ce = colors.red, 103 | r = colors.cyan, 104 | rm = colors.cyan, 105 | ['r?'] = colors.cyan, 106 | ['!'] = colors.red, 107 | t = colors.red, 108 | vb = colors.cyan, 109 | } 110 | return { bg = mode_color[vim.fn.mode()], fg = colors.bg, gui = 'bold' } 111 | -- return { fg = mode_color[vim.fn.mode()], gui = 'bold' } 112 | end, 113 | -- icons_enabled = true, 114 | -- icon = '▊', 115 | padding = { right = 1, left = 1 }, 116 | -- padding = { right = 1 }, 117 | } 118 | 119 | ins_left { 120 | -- filesize component 121 | 'filesize', 122 | cond = conditions.buffer_not_empty, 123 | color = { fg = colors.unimp, gui = 'bold' }, 124 | padding = { left = 2, right = 1 }, 125 | } 126 | 127 | ins_left { 128 | 'filename', 129 | cond = conditions.buffer_not_empty, 130 | path = 1, 131 | color = { fg = colors.magenta, gui = 'bold' }, 132 | } 133 | 134 | ins_left { 135 | 'branch', 136 | icon = '', 137 | color = { fg = colors.green, gui = 'bold' }, 138 | padding = { right = 1, left = 1 }, 139 | } 140 | 141 | ins_left { 'location' } 142 | 143 | ins_left { 'progress', color = { fg = colors.fg, gui = 'bold' } } 144 | 145 | ins_left { 146 | function() 147 | return '%=' 148 | end, 149 | } 150 | 151 | ins_right { 152 | 'diff', 153 | -- Is it me or the symbol for modified us really weird 154 | symbols = { added = '+', modified = '~', removed = '-' }, 155 | diff_color = { 156 | added = { fg = colors.green }, 157 | modified = { fg = colors.yellow }, 158 | removed = { fg = colors.red }, 159 | }, 160 | cond = conditions.hide_in_width, 161 | } 162 | 163 | -- Add components to right sections 164 | ins_right { 165 | 'o:encoding', -- option component same as &encoding in viml 166 | fmt = string.upper, -- I'm not sure why it's upper case either ;) 167 | cond = conditions.hide_in_width, 168 | color = { fg = colors.green, gui = 'bold' }, 169 | } 170 | 171 | ins_right { 172 | 'fileformat', 173 | fmt = string.upper, 174 | icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh 175 | color = { fg = colors.green, gui = 'bold' }, 176 | padding = { right = 2, left = 1 } 177 | } 178 | 179 | -- File type 180 | ins_right { 181 | 'filetype', 182 | fmt = string.upper, 183 | color = { fg = colors.bg, bg = colors.green, gui = 'bold' }, 184 | } 185 | 186 | -- Now don't forget to initialize lualine 187 | lualine.setup(config) 188 | 189 | -------------------------------------------------------------------------------- /nvim/lua/nvimtree-conf/init.lua: -------------------------------------------------------------------------------- 1 | require('nvim-tree').setup{ 2 | -- open_on_setup = true, 3 | view = { 4 | side = 'right', 5 | }, 6 | renderer = { 7 | highlight_git = true, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /nvim/lua/telescope-fb-conf/init.lua: -------------------------------------------------------------------------------- 1 | -- You don't need to set any of these options. 2 | -- IMPORTANT!: this is only a showcase of how you can set default options! 3 | require("telescope").setup { 4 | extensions = { 5 | file_browser = { 6 | -- disables netrw and use telescope-file-browser in its place 7 | hijack_netrw = true, 8 | mappings = { 9 | ["i"] = { 10 | -- your custom insert mode mappings 11 | }, 12 | ["n"] = { 13 | -- your custom normal mode mappings 14 | }, 15 | }, 16 | }, 17 | }, 18 | } 19 | -- To get telescope-file-browser loaded and working with telescope, 20 | -- you need to call load_extension, somewhere after setup function: 21 | require("telescope").load_extension "file_browser" 22 | -------------------------------------------------------------------------------- /nvim/lua/treesitter-conf/init.lua: -------------------------------------------------------------------------------- 1 | require'nvim-treesitter.configs'.setup { 2 | -- A list of parser names, or "all" 3 | ensure_installed = { "c", "lua", "python", "rust" }, 4 | 5 | -- Install parsers synchronously (only applied to `ensure_installed`) 6 | sync_install = false, 7 | 8 | -- Automatically install missing parsers when entering buffer 9 | -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally 10 | auto_install = true, 11 | 12 | highlight = { 13 | -- `false` will disable the whole extension 14 | enable = true, 15 | 16 | -- Setting this to true will run `:h syntax` and tree-sitter at the same time. 17 | -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). 18 | -- Using this option may slow down your editor, and you may see some duplicate highlights. 19 | -- Instead of true it can also be a list of languages 20 | additional_vim_regex_highlighting = false, 21 | }, 22 | } 23 | 24 | -------------------------------------------------------------------------------- /nvim/plugin/packer_compiled.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/nvim/plugin/packer_compiled.lua -------------------------------------------------------------------------------- /polybar/config.ini: -------------------------------------------------------------------------------- 1 | ;========================================================== 2 | ; 3 | ; 4 | ; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ 5 | ; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ 6 | ; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ 7 | ; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ 8 | ; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ 9 | ; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ 10 | ; 11 | ; 12 | ; To learn more about how to configure Polybar 13 | ; go to https://github.com/polybar/polybar 14 | ; 15 | ; The README contains a lot of information 16 | ; 17 | ;========================================================== 18 | 19 | [colors] 20 | background = #2e3440 21 | background-alt = #373B41 22 | foreground = #eceff4 23 | primary = #F0C674 24 | secondary = #d8dee9 25 | alert = #A54242 26 | disabled = #5e6779 27 | 28 | [bar/main] 29 | width = 100% 30 | height = 35pt 31 | radius-top = 0 32 | bottom = true 33 | 34 | ; dpi = 96 35 | 36 | background = ${colors.background} 37 | foreground = ${colors.foreground} 38 | 39 | line-size = 2.5pt 40 | 41 | border-size = 0pt 42 | border-color = #ECEFF4 43 | 44 | padding-left = 2 45 | padding-right = 2 46 | 47 | module-margin = 1 48 | 49 | separator = · 50 | separator-foreground = ${colors.disabled} 51 | 52 | font-0 = FiraCode Nerd Font:pixelsize=13:style=Regular;2 53 | 54 | modules-left = applauncher pulseaudio eth 55 | modules-center = xworkspaces 56 | modules-right = playpause spotify date powermenu 57 | 58 | cursor-click = pointer 59 | cursor-scroll = 60 | 61 | enable-ipc = true 62 | 63 | ; tray-position = right 64 | ; tray-position = right 65 | 66 | ; wm-restack = generic 67 | ; wm-restack = bspwm 68 | ; wm-restack = i3 69 | 70 | ; override-redirect = true 71 | 72 | [module/applauncher] 73 | type = custom/text 74 | content = "Applications" 75 | click-left = rofi -show drun 76 | click-right = rofi -show run 77 | 78 | [module/powermenu] 79 | type = custom/text 80 | content = "Exit" 81 | click-left = sh ~/.config/rofi/scripts/rofi-exit.sh 82 | 83 | [module/xworkspaces] 84 | type = internal/xworkspaces 85 | 86 | label-active = %name% 87 | label-active-foreground = ${colors.background} 88 | label-active-background = ${colors.foreground} 89 | ; label-active-background = #ebcb8b 90 | ; label-active-underline = ${colors.foreground} 91 | label-active-padding = 2 92 | 93 | label-occupied = %name% 94 | label-occupied-foreground = ${colors.secondary} 95 | ; label-occupied-underline = ${colors.foreground} 96 | label-occupied-padding = 2 97 | 98 | label-urgent = %name%! 99 | label-urgent-background = ${colors.foreground} 100 | label-urgent-padding = 2 101 | 102 | label-empty = 103 | label-empty-foreground = ${colors.disabled} 104 | label-empty-padding = 2 105 | 106 | [module/filesystem] 107 | type = internal/fs 108 | interval = 25 109 | 110 | mount-0 = / 111 | 112 | label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% 113 | 114 | label-unmounted = %mountpoint% not mounted 115 | label-unmounted-foreground = ${colors.disabled} 116 | 117 | [module/pulseaudio] 118 | type = internal/pulseaudio 119 | use-ui-max = false 120 | 121 | format-volume-prefix = "Vol: " 122 | format-volume-prefix-foreground = ${colors.foreground} 123 | format-volume = 124 | 125 | label-volume = %percentage%% 126 | label-volume-foreground = #88c0d0 127 | 128 | format-muted-prefix = "Vol: " 129 | format-muted-prefix-foreground = ${colors.foreground} 130 | 131 | label-muted = muted 132 | label-muted-foreground = #bf616a 133 | 134 | [network-base] 135 | type = internal/network 136 | interval = 5 137 | format-connected = 138 | format-disconnected = 139 | label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected 140 | 141 | [module/wlan] 142 | inherit = network-base 143 | interface-type = wireless 144 | label-connected = %{F#a3be8c}%ifname%%{F-} %essid% 145 | 146 | [module/eth] 147 | inherit = network-base 148 | interface-type = wired 149 | ; label-connected = Eth: %{F#a3be8c}%ifname%%{F-} 150 | label-connected = Ethernet: %{F#a3be8c}%ifname%%{F-} 151 | 152 | [module/date] 153 | type = internal/date 154 | interval = 1 155 | 156 | date = %I:%M %{F#b48ead}%p 157 | date-alt = %a, %b %{F#a3be8c}%d 158 | 159 | label = %date% 160 | label-foreground = ${colors.foreground} 161 | 162 | [module/playpause] 163 | type = custom/ipc 164 | hook-0 = echo "" 165 | hook-1 = echo "" 166 | hook-2 = echo "%{F#5e6779}Paused%{F-}" 167 | click-left = spotifyctl -q playpause 168 | scroll-up = spotifyctl -q next 169 | scroll-down = spotifyctl -q previous 170 | 171 | [module/spotify] 172 | type = custom/ipc 173 | hook-0 = echo "" 174 | hook-1 = spotifyctl -q status --format "%artist% - %{F#88c0d0}%title%" --max-length 45 175 | click-left = spotifyctl -q playpause 176 | 177 | [settings] 178 | screenchange-reload = true 179 | pseudo-transparency = true 180 | 181 | ; vim:ft=dosini 182 | -------------------------------------------------------------------------------- /polybar/launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Terminate already running bar instances 4 | killall -q polybar 5 | 6 | # Wait until the processes have been shut down 7 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 8 | 9 | polybar -rq main & 10 | -------------------------------------------------------------------------------- /ranger/rc.conf: -------------------------------------------------------------------------------- 1 | set show_hidden true 2 | set draw_borders both 3 | set column_ratios 2,4,3 4 | set tilde_in_titlebar true 5 | -------------------------------------------------------------------------------- /rofi/config.rasi: -------------------------------------------------------------------------------- 1 | configuration { 2 | location: 5; 3 | display-drun: "Applications"; 4 | display-run: "Run"; 5 | display-window: "Windows"; 6 | display-filebrowser: "Files"; 7 | display-search: "Search"; 8 | // drun-display-format: "{name} [({generic})]"; 9 | drun-display-format: "{name}"; 10 | window-format: "{w} - {c} {t}"; 11 | // font: "JetBrainsMono Nerd Font Mono 12"; 12 | font: "FiraCode Nerd Font 12.7"; 13 | modi: "window,run,drun,filebrowser"; 14 | // fixed-num-lines: false; 15 | terminal: "xfce4-terminal"; 16 | show-icons: false; 17 | } 18 | 19 | @theme "/dev/null" 20 | 21 | * { 22 | bg: #2e3440; 23 | bg-alt: #2e3440; 24 | 25 | fg: #eceff4; 26 | fg-alt: #5e6779; 27 | 28 | border-color: #eceff4; 29 | 30 | text-color: @fg; 31 | background-color: @bg; 32 | 33 | border: 0; 34 | margin: 0; 35 | padding: 0; 36 | spacing: 0; 37 | 38 | highlight: none; 39 | horizontal-align: 0; 40 | } 41 | 42 | window { 43 | // anchor: center; 44 | // location: center; 45 | width: 100%; 46 | height: 46; 47 | border: 0 0 0 0; 48 | padding: 0; 49 | } 50 | 51 | element { 52 | text-color: @fg-alt; 53 | padding: 11 15 20 15; 54 | expand: false; 55 | cursor: pointer; 56 | } 57 | 58 | element.selected { 59 | text-color: @bg; 60 | background-color: @fg; 61 | } 62 | 63 | element-text { 64 | background-color: inherit; 65 | text-color: inherit; 66 | cursor: pointer; 67 | highlight: none #eceff4; 68 | } 69 | 70 | element-text selected { 71 | background-color: inherit; 72 | text-color: inherit; 73 | cursor: pointer; 74 | highlight: none; 75 | } 76 | 77 | prompt { 78 | text-color: @fg; 79 | enabled: true; 80 | padding: 11 0 11 0; 81 | } 82 | 83 | textbox-prompt-divider { 84 | expand: false; 85 | str: ": "; 86 | text-color: @fg; 87 | padding: 11 0 11 0; 88 | } 89 | 90 | entry { 91 | background-color: @bg-alt; 92 | padding: 11 0 11 0; 93 | text-color: @fg; 94 | // placeholder: "Search"; 95 | placeholder-color: @fg-alt; 96 | horizontal-align: 0; 97 | expand: false; 98 | width: 17.5%; 99 | cursor: text; 100 | } 101 | 102 | num-filtered-rows { 103 | text-color: @fg; 104 | padding: 11 0 11 0; 105 | } 106 | 107 | num-rows { 108 | text-color: @fg; 109 | padding: 11 0 11 0; 110 | } 111 | 112 | textbox-num-divider { 113 | expand: false; 114 | str: ":"; 115 | text-color: @fg; 116 | padding: 11 0 11 0; 117 | } 118 | 119 | button-left { 120 | expand: false; 121 | str: "<"; 122 | text-color: @fg; 123 | padding: 11 15 11 15; 124 | action: "kb-page-prev"; 125 | cursor: pointer; 126 | } 127 | 128 | button-right { 129 | expand: false; 130 | str: ">"; 131 | text-color: @fg; 132 | padding: 11 15 11 15; 133 | action: "kb-page-next"; 134 | cursor: pointer; 135 | } 136 | 137 | inputbar { 138 | children: [prompt, textbox-prompt-divider, entry, button-left, listview, button-right, num-filtered-rows, textbox-num-divider, num-rows]; 139 | spacing: 0; 140 | } 141 | 142 | listview { 143 | background-color: @bg; 144 | lines: 100; 145 | layout: horizontal; 146 | horizontal-align: 0.5; 147 | } 148 | 149 | mainbox { 150 | background-color: @bg; 151 | children: [inputbar]; 152 | margin: 0 20 0 20; 153 | } 154 | 155 | message { 156 | text-color: @fg; 157 | } 158 | 159 | // vim: ft=sass 160 | -------------------------------------------------------------------------------- /rofi/scripts/rofi-exit.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CHOICE=$(printf "%s\n" "Lock" "Sleep" "Logout" "Restart" "Shutdown" | rofi -i -dmenu -p "Exit") 4 | 5 | case "$CHOICE" in 6 | "Lock") slimlock ;; 7 | "Sleep") CONFIRM=$(printf '%s\n' "No" "Yes, sleep" | rofi -i -dmenu -p "Sleep" -theme-str ' textbox-prompt-divider { str: "? "; } ') ;; 8 | "Logout") CONFIRM=$(printf '%s\n' "No" "Yes, logout" | rofi -i -dmenu -p "Logout" -theme-str ' textbox-prompt-divider { str: "? "; } ') ;; 9 | "Restart") CONFIRM=$(printf '%s\n' "No" "Yes, restart" | rofi -i -dmenu -p "Restart" -theme-str ' textbox-prompt-divider { str: "? "; } ') ;; 10 | "Shutdown") CONFIRM=$(printf '%s\n' "No" "Yes, shutdown" | rofi -i -dmenu -p "Shutdown" -theme-str ' textbox-prompt-divider { str: "? "; } ') ;; 11 | esac 12 | 13 | case "$CONFIRM" in 14 | "Yes, sleep") systemctl sleep ;; 15 | "Yes, logout") echo "awesome.quit()" | awesome-client ;; 16 | "Yes, restart") systemctl reboot ;; 17 | "Yes, shutdown") systemctl poweroff ;; 18 | esac 19 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/screenshot.png -------------------------------------------------------------------------------- /slim/lominoss/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/slim/lominoss/background.png -------------------------------------------------------------------------------- /slim/lominoss/panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/slim/lominoss/panel.png -------------------------------------------------------------------------------- /slim/lominoss/slim.theme: -------------------------------------------------------------------------------- 1 | # pinker theme for SLIM 2 | # by aditya shakya 3 | # using artwork from some free html+css login templates on the internet 4 | 5 | # Messages (ie: shutdown) 6 | 7 | msg_color #eceff4 8 | msg_font FiraCode Nerd Font:size=18:regular:dpi=75 9 | msg_x 50% 10 | msg_y 80% 11 | 12 | # valid values: stretch, tile 13 | 14 | background_style stretch 15 | background_color #f2f2f2 16 | 17 | # Input controls 18 | 19 | input_panel_x 50% 20 | input_panel_y 50% 21 | input_name_x 207 22 | input_name_y 104 23 | input_pass_x 207 24 | input_pass_y 139 25 | input_font FiraCode Nerd Font:size=20:regular:dpi=75 26 | input_color #88c0d0 27 | 28 | # Session Name 29 | 30 | session_color #5e6779 31 | session_font FiraCode Nerd Font:size=18:regular:dpi=75 32 | # session_x 843 33 | # session_y 625 34 | session_x 37 35 | session_y 50 36 | 37 | username_msg 38 | password_msg 39 | -------------------------------------------------------------------------------- /slim/slim.conf: -------------------------------------------------------------------------------- 1 | # Path, X server and arguments (if needed) 2 | # Note: -xauth $authfile is automatically appended 3 | default_path /usr/local/bin:/usr/local/sbin:/usr/bin 4 | default_xserver /usr/bin/X 5 | xserver_arguments -nolisten tcp vt07 6 | 7 | # Commands for halt, login, etc. 8 | halt_cmd /sbin/shutdown -h now 9 | reboot_cmd /sbin/shutdown -r now 10 | console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login" 11 | #suspend_cmd /usr/sbin/suspend 12 | 13 | # Full path to the xauth binary 14 | xauth_path /usr/bin/xauth 15 | 16 | # Xauth file for server 17 | authfile /var/run/slim.auth 18 | 19 | 20 | # Activate numlock when slim starts. Valid values: on|off 21 | numlock on 22 | 23 | # Hide the mouse cursor (note: does not work with some WMs). 24 | # Valid values: true|false 25 | hidecursor false 26 | cursor left_ptr 27 | 28 | # This command is executed after a succesful login. 29 | # you can place the %session and %theme variables 30 | # to handle launching of specific commands in .xinitrc 31 | # depending of chosen session and slim theme 32 | # 33 | # NOTE: if your system does not have bash you need 34 | # to adjust the command according to your preferred shell, 35 | # i.e. for freebsd use: 36 | # login_cmd exec /bin/sh - ~/.xinitrc %session 37 | login_cmd exec /bin/bash -login ~/.xinitrc %session 38 | 39 | # Commands executed when starting and exiting a session. 40 | # They can be used for registering a X11 session with 41 | # sessreg. You can use the %user variable 42 | # 43 | # sessionstart_cmd some command 44 | # sessionstop_cmd some command 45 | 46 | # Start in daemon mode. Valid values: yes | no 47 | # Note that this can be overriden by the command line 48 | # options "-d" and "-nodaemon" 49 | # daemon yes 50 | 51 | # Set directory that contains the xsessions. 52 | # slim reads xsesion from this directory, and be able to select. 53 | sessiondir /usr/share/xsessions/ 54 | 55 | # Executed when pressing F11 (requires imagemagick) 56 | screenshot_cmd import -window root /slim.png 57 | 58 | # welcome message. Available variables: %host, %domain 59 | welcome_msg Welcome to %host 60 | 61 | # Session message. Prepended to the session name when pressing F1 62 | session_msg Session (F1 to change): 63 | 64 | # shutdown / reboot messages 65 | shutdown_msg The system is halting... 66 | reboot_msg The system is rebooting... 67 | 68 | # default user, leave blank or remove this line 69 | # for avoid pre-loading the username. 70 | default_user lominoss 71 | 72 | # Focus the password field on start when default_user is set 73 | # Set to "yes" to enable this feature 74 | focus_password yes 75 | 76 | # Automatically login the default user (without entering 77 | # the password. Set to "yes" to enable this feature 78 | #auto_login no 79 | 80 | # current theme, use comma separated list to specify a set to 81 | # randomly choose from 82 | current_theme lominoss 83 | 84 | # Lock file 85 | lockfile /var/lock/slim.lock 86 | 87 | # Log file 88 | logfile /var/log/slim.log 89 | 90 | -------------------------------------------------------------------------------- /starship.toml: -------------------------------------------------------------------------------- 1 | add_newline = false 2 | 3 | [line_break] 4 | disabled = true 5 | 6 | [character] 7 | disabled = true 8 | success_symbol = "" 9 | error_symbol = "" 10 | vimcmd_symbol = "" 11 | 12 | [git_commit] 13 | tag_symbol = " tag " 14 | 15 | [git_status] 16 | disabled = false 17 | ahead = ">" 18 | behind = "<" 19 | diverged = "<>" 20 | renamed = "r" 21 | deleted = "x" 22 | style = "bold yellow" 23 | 24 | [aws] 25 | symbol = "aws " 26 | 27 | [bun] 28 | symbol = "bun " 29 | 30 | [c] 31 | symbol = "C " 32 | 33 | [cobol] 34 | symbol = "cobol " 35 | 36 | [conda] 37 | symbol = "conda " 38 | 39 | [crystal] 40 | symbol = "cr " 41 | 42 | [cmake] 43 | symbol = "cmake " 44 | 45 | [daml] 46 | symbol = "daml " 47 | 48 | [dart] 49 | symbol = "dart " 50 | 51 | [deno] 52 | symbol = "deno " 53 | 54 | [dotnet] 55 | symbol = ".NET " 56 | 57 | [directory] 58 | read_only = " ro" 59 | style = "bold purple" 60 | 61 | [docker_context] 62 | symbol = "docker " 63 | 64 | [elixir] 65 | symbol = "exs " 66 | 67 | [elm] 68 | symbol = "elm " 69 | 70 | [git_branch] 71 | symbol = "" 72 | style = "bold green" 73 | 74 | [golang] 75 | symbol = "go " 76 | 77 | [guix_shell] 78 | symbol = "guix " 79 | 80 | [hg_branch] 81 | symbol = "hg " 82 | 83 | [java] 84 | symbol = "java " 85 | 86 | [julia] 87 | symbol = "jl " 88 | 89 | [kotlin] 90 | symbol = "kt " 91 | 92 | [lua] 93 | symbol = "lua " 94 | 95 | [nodejs] 96 | symbol = "nodejs " 97 | 98 | [memory_usage] 99 | symbol = "memory " 100 | 101 | [meson] 102 | symbol = "meson " 103 | 104 | [nim] 105 | symbol = "nim " 106 | 107 | [nix_shell] 108 | symbol = "nix " 109 | 110 | [ocaml] 111 | symbol = "ml " 112 | 113 | [opa] 114 | symbol = "opa " 115 | 116 | [os.symbols] 117 | Alpine = "alp " 118 | Amazon = "amz " 119 | Android = "andr " 120 | Arch = "rch " 121 | CentOS = "cent " 122 | Debian = "deb " 123 | DragonFly = "dfbsd " 124 | Emscripten = "emsc " 125 | EndeavourOS = "ndev " 126 | Fedora = "fed " 127 | FreeBSD = "fbsd " 128 | Garuda = "garu " 129 | Gentoo = "gent " 130 | HardenedBSD = "hbsd " 131 | Illumos = "lum " 132 | Linux = "lnx " 133 | Macos = "mac " 134 | Manjaro = "mjo " 135 | Mariner = "mrn " 136 | MidnightBSD = "mid " 137 | Mint = "mint " 138 | NetBSD = "nbsd " 139 | NixOS = "nix " 140 | OpenBSD = "obsd " 141 | openSUSE = "osuse " 142 | OracleLinux = "orac " 143 | Pop = "pop " 144 | Raspbian = "rasp " 145 | Redhat = "rhl " 146 | RedHatEnterprise = "rhel " 147 | Redox = "redox " 148 | Solus = "sol " 149 | SUSE = "suse " 150 | Ubuntu = "ubnt " 151 | Unknown = "unk " 152 | Windows = "win " 153 | 154 | [package] 155 | symbol = "pkg " 156 | style = "bold blue" 157 | 158 | [perl] 159 | symbol = "pl " 160 | 161 | [php] 162 | symbol = "php " 163 | 164 | [pulumi] 165 | symbol = "pulumi " 166 | 167 | [purescript] 168 | symbol = "purs " 169 | 170 | [python] 171 | symbol = "py " 172 | 173 | [raku] 174 | symbol = "raku " 175 | 176 | [ruby] 177 | symbol = "rb " 178 | 179 | [rust] 180 | symbol = "rs " 181 | 182 | [scala] 183 | symbol = "scala " 184 | 185 | [spack] 186 | symbol = "spack " 187 | 188 | [sudo] 189 | symbol = "sudo " 190 | 191 | [swift] 192 | symbol = "swift " 193 | 194 | [terraform] 195 | symbol = "terraform " 196 | 197 | [zig] 198 | symbol = "zig " 199 | -------------------------------------------------------------------------------- /termite/config: -------------------------------------------------------------------------------- 1 | [options] 2 | allow_bold = true 3 | #audible_bell = false 4 | #bold_is_bright = true 5 | cell_height_scale = 1.0 6 | #cell_width_scale = 1.0 7 | #clickable_url = true 8 | dynamic_title = true 9 | font = FiraCode Nerd Font 14 10 | #fullscreen = true 11 | #icon_name = terminal 12 | #mouse_autohide = false 13 | #scroll_on_output = false 14 | #scroll_on_keystroke = true 15 | # Length of the scrollback buffer, 0 disabled the scrollback buffer 16 | # and setting it to a negative value means "infinite scrollback" 17 | scrollback_lines = 10000 18 | #search_wrap = true 19 | #urgent_on_bell = true 20 | #hyperlinks = false 21 | 22 | # $BROWSER is used by default if set, with xdg-open as a fallback 23 | browser = firefox 24 | 25 | # "system", "on" or "off" 26 | cursor_blink = on 27 | 28 | # "block", "underline" or "ibeam" 29 | cursor_shape = ibeam 30 | 31 | # Hide links that are no longer valid in url select overlay mode 32 | #filter_unmatched_urls = true 33 | 34 | # Emit escape sequences for extra modified keys 35 | #modify_other_keys = false 36 | 37 | # set size hints for the window 38 | size_hints = true 39 | 40 | # "off", "left" or "right" 41 | #scrollbar = off 42 | 43 | [colors] 44 | # If both of these are unset, cursor falls back to the foreground color, 45 | # and cursor_foreground falls back to the background color. 46 | cursor = #eceff4 47 | cursor_foreground = #eceff4 48 | 49 | #foreground = #dcdccc 50 | #foreground_bold = #ffffff 51 | #background = #3f3f3f 52 | 53 | # 20% background transparency (requires a compositor)0 54 | #background = rgba(63, 63, 63, 0.8) 55 | 56 | # Colors from color0 to color254 can be set 57 | color0 = #2e3440 58 | color1 = #bf616a 59 | color2 = #a3be8c 60 | color3 = #ebcb8b 61 | color4 = #81a1c1 62 | color5 = #b48ead 63 | color6 = #88c0d0 64 | color7 = #e5e9f0 65 | color8 = #4c566a 66 | color9 = #bf616a 67 | color10 = #a3be8c 68 | color11 = #ebcb8b 69 | color12 = #81a1c1 70 | color13 = #b48ead 71 | color14 = #8fbcbb 72 | color15 = #eceff4 73 | 74 | [hints] 75 | #font = JetBrainsMono Nerd Font 13 76 | #foreground = #dcdccc 77 | #background = #3f3f3f 78 | #active_foreground = #e68080 79 | #active_background = #3f3f3f 80 | #padding = 2 81 | #border = #3f3f3f 82 | #border_width = 0.5 83 | #roundness = 2.0 84 | 85 | # vim: ft=dosini cms=#%s 86 | -------------------------------------------------------------------------------- /wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/wallpaper.png -------------------------------------------------------------------------------- /wallpapers/mountains.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/wallpapers/mountains.jpg -------------------------------------------------------------------------------- /window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lominoss-git/awesome-dots/1da02aa73417e74240d7e119b692168da321bd97/window.png -------------------------------------------------------------------------------- /xfce4/terminal/accels.scm: -------------------------------------------------------------------------------- 1 | ; xfce4-terminal GtkAccelMap rc-file -*- scheme -*- 2 | ; this file is an automated accelerator map dump 3 | ; 4 | (gtk_accel_path "/terminal-window/goto-tab-2" "2") 5 | (gtk_accel_path "/terminal-window/goto-tab-6" "6") 6 | ; (gtk_accel_path "/terminal-window/copy-input" "") 7 | ; (gtk_accel_path "/terminal-window/close-other-tabs" "") 8 | ; (gtk_accel_path "/terminal-window/move-tab-right" "Page_Down") 9 | (gtk_accel_path "/terminal-window/goto-tab-7" "7") 10 | ; (gtk_accel_path "/terminal-window/set-title-color" "") 11 | ; (gtk_accel_path "/terminal-window/edit-menu" "") 12 | ; (gtk_accel_path "/terminal-window/zoom-menu" "") 13 | (gtk_accel_path "/terminal-window/goto-tab-1" "1") 14 | ; (gtk_accel_path "/terminal-window/fullscreen" "F11") 15 | ; (gtk_accel_path "/terminal-window/read-only" "") 16 | (gtk_accel_path "/terminal-window/goto-tab-5" "5") 17 | ; (gtk_accel_path "/terminal-window/preferences" "") 18 | ; (gtk_accel_path "/terminal-window/reset-and-clear" "") 19 | ; (gtk_accel_path "/terminal-window/about" "") 20 | (gtk_accel_path "/terminal-window/goto-tab-4" "4") 21 | ; (gtk_accel_path "/terminal-window/close-window" "q") 22 | ; (gtk_accel_path "/terminal-window/reset" "") 23 | ; (gtk_accel_path "/terminal-window/save-contents" "") 24 | (gtk_accel_path "/terminal-window/toggle-menubar" "F10") 25 | ; (gtk_accel_path "/terminal-window/copy" "c") 26 | ; (gtk_accel_path "/terminal-window/copy-html" "") 27 | ; (gtk_accel_path "/terminal-window/last-active-tab" "") 28 | ; (gtk_accel_path "/terminal-window/show-borders" "") 29 | ; (gtk_accel_path "/terminal-window/view-menu" "") 30 | ; (gtk_accel_path "/terminal-window/detach-tab" "d") 31 | ; (gtk_accel_path "/terminal-window/scroll-on-output" "") 32 | ; (gtk_accel_path "/terminal-window/show-toolbar" "") 33 | ; (gtk_accel_path "/terminal-window/next-tab" "Page_Down") 34 | ; (gtk_accel_path "/terminal-window/tabs-menu" "") 35 | ; (gtk_accel_path "/terminal-window/search-next" "") 36 | ; (gtk_accel_path "/terminal-window/search-prev" "") 37 | ; (gtk_accel_path "/terminal-window/undo-close-tab" "") 38 | ; (gtk_accel_path "/terminal-window/set-title" "s") 39 | ; (gtk_accel_path "/terminal-window/contents" "F1") 40 | ; (gtk_accel_path "/terminal-window/zoom-reset" "0") 41 | ; (gtk_accel_path "/terminal-window/close-tab" "w") 42 | ; (gtk_accel_path "/terminal-window/new-tab" "t") 43 | ; (gtk_accel_path "/terminal-window/new-window" "n") 44 | ; (gtk_accel_path "/terminal-window/terminal-menu" "") 45 | ; (gtk_accel_path "/terminal-window/show-menubar" "") 46 | ; (gtk_accel_path "/terminal-window/select-all" "a") 47 | ; (gtk_accel_path "/terminal-window/paste" "v") 48 | (gtk_accel_path "/terminal-window/goto-tab-9" "9") 49 | ; (gtk_accel_path "/terminal-window/move-tab-left" "Page_Up") 50 | ; (gtk_accel_path "/terminal-window/search" "f") 51 | ; (gtk_accel_path "/terminal-window/file-menu" "") 52 | ; (gtk_accel_path "/terminal-window/prev-tab" "Page_Up") 53 | ; (gtk_accel_path "/terminal-window/paste-selection" "") 54 | ; (gtk_accel_path "/terminal-window/zoom-in" "plus") 55 | ; (gtk_accel_path "/terminal-window/zoom-out" "minus") 56 | (gtk_accel_path "/terminal-window/goto-tab-8" "8") 57 | ; (gtk_accel_path "/terminal-window/help-menu" "") 58 | (gtk_accel_path "/terminal-window/goto-tab-3" "3") 59 | -------------------------------------------------------------------------------- /xfce4/terminal/terminalrc: -------------------------------------------------------------------------------- 1 | [Configuration] 2 | MiscAlwaysShowTabs=FALSE 3 | MiscBell=FALSE 4 | MiscBellUrgent=FALSE 5 | MiscBordersDefault=FALSE 6 | MiscCursorBlinks=TRUE 7 | MiscCursorShape=TERMINAL_CURSOR_SHAPE_IBEAM 8 | MiscDefaultGeometry=80x24 9 | MiscInheritGeometry=FALSE 10 | MiscMenubarDefault=FALSE 11 | MiscMouseAutohide=FALSE 12 | MiscMouseWheelZoom=TRUE 13 | MiscToolbarDefault=FALSE 14 | MiscConfirmClose=FALSE 15 | MiscCycleTabs=TRUE 16 | MiscTabCloseButtons=TRUE 17 | MiscTabCloseMiddleClick=TRUE 18 | MiscTabPosition=GTK_POS_TOP 19 | MiscHighlightUrls=TRUE 20 | MiscMiddleClickOpensUri=FALSE 21 | MiscCopyOnSelect=FALSE 22 | MiscShowRelaunchDialog=TRUE 23 | MiscRewrapOnResize=TRUE 24 | MiscUseShiftArrowsToScroll=FALSE 25 | MiscSlimTabs=FALSE 26 | MiscNewTabAdjacent=FALSE 27 | MiscSearchDialogOpacity=100 28 | MiscShowUnsafePasteDialog=TRUE 29 | FontName=FiraCode Nerd Font 13 30 | ScrollingBar=TERMINAL_SCROLLBAR_NONE 31 | ColorPalette=rgb(46,52,64);rgb(191,97,106);rgb(163,190,140);rgb(235,203,139);rgb(129,161,193);rgb(180,142,173);rgb(136,192,208);rgb(229,233,240);rgb(76,86,106);rgb(208,135,112);rgb(163,190,140);rgb(235,203,139);rgb(129,161,193);rgb(180,142,173);rgb(143,188,187);rgb(236,239,244) 32 | ColorBackground=#2e2e34344040 33 | TabActivityColor=#bfbf61616a6a 34 | ColorForeground=#ececefeff4f4 35 | ColorSelectionUseDefault=FALSE 36 | ColorCursorUseDefault=FALSE 37 | ColorCursorForeground=#ececefeff4f4 38 | ColorCursor=#ececefeff4f4 39 | ColorSelection=#2e2e34344040 40 | ColorSelectionBackground=#ececefeff4f4 41 | ColorBold=#ffff78780000 42 | TitleInitial=terminal 43 | MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU 44 | TitleMode=TERMINAL_TITLE_REPLACE 45 | BackgroundDarkness=0.960000 46 | ColorBoldIsBright=FALSE 47 | CellHeightScale=1.150000 48 | 49 | -------------------------------------------------------------------------------- /xfce4/terminal/terminalrc.bak: -------------------------------------------------------------------------------- 1 | [Configuration] 2 | MiscAlwaysShowTabs=FALSE 3 | MiscBell=FALSE 4 | MiscBellUrgent=FALSE 5 | MiscBordersDefault=FALSE 6 | MiscCursorBlinks=TRUE 7 | MiscCursorShape=TERMINAL_CURSOR_SHAPE_IBEAM 8 | MiscDefaultGeometry=80x24 9 | MiscInheritGeometry=FALSE 10 | MiscMenubarDefault=FALSE 11 | MiscMouseAutohide=FALSE 12 | MiscMouseWheelZoom=TRUE 13 | MiscToolbarDefault=FALSE 14 | MiscConfirmClose=FALSE 15 | MiscCycleTabs=TRUE 16 | MiscTabCloseButtons=TRUE 17 | MiscTabCloseMiddleClick=TRUE 18 | MiscTabPosition=GTK_POS_TOP 19 | MiscHighlightUrls=TRUE 20 | MiscMiddleClickOpensUri=FALSE 21 | MiscCopyOnSelect=FALSE 22 | MiscShowRelaunchDialog=TRUE 23 | MiscRewrapOnResize=TRUE 24 | MiscUseShiftArrowsToScroll=FALSE 25 | MiscSlimTabs=FALSE 26 | MiscNewTabAdjacent=FALSE 27 | MiscSearchDialogOpacity=100 28 | MiscShowUnsafePasteDialog=TRUE 29 | FontName=FiraCode Nerd Font 14 30 | ScrollingBar=TERMINAL_SCROLLBAR_NONE 31 | ColorPalette=rgb(46,52,64);rgb(191,97,106);rgb(163,190,140);rgb(235,203,139);rgb(129,161,193);rgb(180,142,173);rgb(136,192,208);rgb(229,233,240);rgb(76,86,106);rgb(208,135,112);rgb(163,190,140);rgb(235,203,139);rgb(129,161,193);rgb(180,142,173);rgb(143,188,187);rgb(236,239,244) 32 | ColorBackground=#2e2e34344040 33 | TabActivityColor=#bfbf61616a6a 34 | ColorForeground=#ececefeff4f4 35 | ColorSelectionUseDefault=FALSE 36 | ColorCursorUseDefault=FALSE 37 | ColorCursorForeground=#ececefeff4f4 38 | ColorCursor=#ececefeff4f4 39 | ColorSelection=#2e2e34344040 40 | ColorSelectionBackground=#ececefeff4f4 41 | ColorBold=#ffff78780000 42 | TitleInitial=terminal 43 | MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU 44 | TitleMode=TERMINAL_TITLE_REPLACE 45 | BackgroundDarkness=0.960000 46 | ColorBoldIsBright=FALSE 47 | BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT 48 | CellHeightScale=1.150000 49 | 50 | --------------------------------------------------------------------------------