• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    Lua
  • Created over 12 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

My ~/.config/awesome directory

⚠ I have now switched to i3.

Vincent Bernat's awesome configuration

This is my awesome configuration. It does not exactly feature the same keybindings as the default configuration. I don't recommend using it by you can pick anything you need in it.

This configuration is for awesome 3.4. I did not update to 3.5 yet. Have a look at @P-EB pull request for 3.5 support.

Here some of the things you may be interested in:

  • It is modular. I am using config as a table to pass different things between "modules".

  • I use a light transparency effect to tell if a window has the focus or not. It needs a composite manager.

  • I use a Python script bin/build-wallpaper to build the wallpaper to be displayed. There is a random selection and it works with multihead setup. It seems that classic tools are now able to change the wallpaper per screen and therefore, the script may seem a bit useless but I keep it.

  • I am using xss-lock with i3lock as a screensaver. It relies on standard X screensaver handling (and therefore is easy for application to disable) and also supports systemd inhibitors. Nothing fancy but I reuse the wallpaper built above. A notification is sent 10 seconds before starting.

  • In rc/apparance.lua, you may be interested by the way I configure GTK2 and GTK3 to have an unified look. It works and it does not need gnome-control-center.

  • I have rebuilt my own implementation of the Quake console in lib/quake.lua. The common ones didn't like when awesome was restarted.

  • I am using notifications when changing volume or brightness. I am also using notifications to change xrandr setup. This is pretty cool.

  • Keybindings are "autodocumented". See lib/keydoc.lua to see how this works. The list of key bindings can be accessed with Mod4 + F1.

  • On the debug front, I am quite happy with dbg() in rc/debug.lua.

  • Many stuff is handled by systemd. The session is still expected to be handled by Xsession but we invoke a custom display-specific [email protected] which binds to a display-specific [email protected]. This is different from the graphical-session.target shipped by distributions because I wanted it to be display-specific. Also, unit activation is bundled directly into [email protected] while dependencies are mostly handled in [email protected].

Also, I am using my custom terminal (vbeterm). You need to change that in rc.lua. You can also find the sources on GitHub.

Things in lib/ are meant to be reused. I am using my own loadrc() function to load modules and therefore, I prefix my modules with vbe/. Before reusing a module, you may want to change this. Another way to load them is to use:

require("lib/quake")
local quake = package.loaded["vbe/quake"]

Requirements

Required Debian packages to make everything work can be found in my Puppet configuration.

More Repositories

1

network-lab

Networking lab using root-less VM
Shell
528
star
2

dashkiosk

Managing dashboards on various displays (especially those running on Android)
JavaScript
354
star
3

hellogopher

Makefile to build a Go project
Makefile
301
star
4

rfc5077

Various tools for testing RFC 5077
C
241
star
5

nodecastor

Experiment to implement a sender API for Chromecast in Node.js
JavaScript
180
star
6

snimpy

interactive SNMP tool with Python
Python
180
star
7

video2hls

Prepare a video to be streamed with HLS
Python
171
star
8

eudyptula-boot

Boot a Linux kernel in a VM without a dedicated root filesystem.
Shell
112
star
9

pragmatic-debian-packages

Pragmatic Debian packaging
Makefile
98
star
10

serverspec-example

Advanced use example of serverspec
JavaScript
98
star
11

jchroot

a chroot with more isolation
C
96
star
12

wiremaps

layer 2 network discovery application
Python
89
star
13

zshrc

My .zshrc
Shell
84
star
14

bootstrap.c

Boilerplate for small C projects (autotools)
C
74
star
15

i3wm-configuration

Python
72
star
16

vincent.bernat.ch

My own website
HTML
71
star
17

extend-netsnmp

Various examples on how to extend NetSNMP agent
C
46
star
18

ssl-dos

Various tools related to SSL denial of service
C
46
star
19

python-script

Sample self-contained Python script
Python
36
star
20

systemtap-cookbook

Some tools using systemtap
Python
29
star
21

vbeterm

Custom terminal based on VTE
C
21
star
22

xssproxy

Forward freedesktop.org Idle Inhibition Service calls to Xss
C
20
star
23

ip_vs_mh

Backport of ip_vs_mh for Linux (consistent hashing with Google's Maglev algorithm)
C
17
star
24

lanco

task launcher which does not want to be an init program
C
16
star
25

bootstrap.c-web

Boilerplate for small C projects (autotools) exporting a REST+SSE+WS API
C
14
star
26

puppet-workstation

Puppet setup to install my own workstation
Puppet
14
star
27

udpproxy

a Netfilter powered UDP proxy
C
13
star
28

cve-2015-3456

Experiments related to CVE-2015-3456
C
12
star
29

puppet-eizo

Puppet repository for "eizo"
Shell
12
star
30

ethtool-snmpd

Export ethtool stuff through SNMP
C
12
star
31

dot.emacs

My Emacs (and Gnus) configuration files
Emacs Lisp
12
star
32

fvwm-configuration

My configuration for fvwm
Shell
11
star
33

dashkiosk-android

Android application for Dashkiosk
Java
9
star
34

ansible-custom-module-examples

See https://vincent.bernat.ch/en/blog/2020-custom-ansible-module
Python
9
star
35

haproxy-debian-repository-wizard

Web application to select the appropriate Debian repository for HAProxy
HTML
9
star
36

junos-mode

Emacs major mode for JunOS configuration file
Emacs Lisp
9
star
37

ripe-atlas-lowest-latency

RIPE Atlas tool to determine the endpoint with the lowest latency
Python
8
star
38

ip_vs_csh

Consistent source hashing scheduler for Linux IPVS
C
8
star
39

ro-ro-tcp

performance enhancing proxy for TCP over links with high latency and moderate error rates
C
8
star
40

vpnoo

an IPSEc + XAuth client for Mac OS X
C
8
star
41

asn2org

AS numbers to organization names
Python
7
star
42

nixops-take1

Playground for NixOps
Nix
7
star
43

quagga

Quagga is free software that manages various IPv4 and IPv6 routing protocols.
C
5
star
44

flappy-bird-reborn-multiplayer

A "Flappy Bird" clone with multiplayer ability.
JavaScript
4
star
45

old-turbo-pascal-programs

Old programs that I wrote when I was a kid.
Pascal
4
star
46

cdktf-take1

Musing around CDKTF
TypeScript
3
star
47

splitpkcs12

PKCS#12 certificate splitter
C
3
star
48

net-snmp

Net-SNMP (not official)
C
3
star
49

ipoo

gather information about IP and hostnames
Python
3
star
50

dosbox

DOSBox, an x86 emulator with DOS. ⚠️ Not official. Not a complete mirror. Not updated.
C++
3
star
51

last-resort-gateway

Manage a last resort gateway
Go
2
star
52

pulumi-vultr

Pulumi provider for Vultr (based on the Terraform one), not official
Python
2
star
53

pygments-junos

JunOS lexer for pygments
Python
2
star
54

pygments-ios

IOS lexer for pygments
Python
2
star
55

homemanager-configuration

home-manager configuration for use with Debian Sid
Nix
2
star
56

www.une-oasis-une-ecole.fr

Source code for http://www.une-oasis-une-ecole.fr
HTML
2
star
57

Kitero

Interface and QoS switcher for router
Python
2
star
58

pulumi-gandi-old

Pulumi provider for Gandi, based on Terraform, not official
Python
1
star
59

pygments-haproxy

HAProxy lexer for Pygments
Python
1
star
60

QCss-3

load-balancer web service
Python
1
star