Compare commits

..

28 commits

Author SHA1 Message Date
Hactarus
8031a80a60 import nix i3 config 2024-09-30 19:49:42 +02:00
Hactarus
3699d8a0b3 some fixes
"
2024-09-30 19:49:25 +02:00
Hactarus
0e649eddbb fix alacritty font 2024-09-30 19:49:05 +02:00
Hactarus
5143e9b77b feat(alacritty): Add alacritty-themes.
Switch do dracula_plus
2024-09-30 19:48:54 +02:00
Quentin Godefroid
b42a668b4c update .ohmyzsh 2024-09-30 19:48:54 +02:00
Quentin Godefroid
2f239adcd3 add nano and update i3 status 2024-09-30 19:48:54 +02:00
Quentin Godefroid
06654fae8e g 2024-09-30 19:46:39 +02:00
Quentin Godefroid
9c084bfeb5 feat(i3): Add i3 config
feat(alacritty): Migrate to toml
2024-09-30 19:45:21 +02:00
Quentin Godefroid
d3f99d9353 feat(zsh) Add openstack alias 2024-09-30 19:40:57 +02:00
Hactarus
b9e704b3cb add vault to zsh 2024-09-30 19:40:57 +02:00
Hactarus
dbf02682c1 htop add custom fields 2024-09-30 19:40:57 +02:00
Hactarus
4d0d5b5f0c htop add custom fields 2024-09-30 19:40:57 +02:00
Hactarus
56bdbe8bcb update htop config 2024-09-30 19:40:57 +02:00
Hactarus
db8f7b5757 Rename htop.cnf and remove duplicate entry on nanorc 2024-09-30 19:40:57 +02:00
Hactarus
2e485a62a5 Update gitconfig gpg 2024-09-30 19:40:40 +02:00
Quentin Godefroid
7839c3e536 add edefault user 2024-09-30 19:38:07 +02:00
Quentin Godefroid
ee15772ea2 add hx,alac update omz 2024-09-30 19:37:44 +02:00
Quentin Godefroid
ebcb3fd700 fixup 2024-09-30 19:36:49 +02:00
Quentin Godefroid
dc14a865b7 Add ubuntu to modules, add .webhosting-dotfiles 2024-09-30 19:34:39 +02:00
Hactarus
a334127594 ignore untracked wallpapers 2024-09-30 17:32:54 +02:00
Hactarus
271af3b454 add default wallpaper 2024-09-30 17:31:35 +02:00
Hactarus
fe0993358b WIP 2024-09-29 17:36:23 +02:00
Hactarus
1ff03eb4ca Add piucom and i3 with transparency 2024-09-03 15:35:42 +02:00
Hactarus
e1317d38ee add polybar 2024-08-24 02:04:50 +02:00
Hactarus
b751b5c492 add nehu i3 dotfiles to try 2024-08-24 02:01:28 +02:00
Hactarus
1d1396b34f update 2024-08-24 01:58:23 +02:00
Hactarus
375266a8e7 update 2024-08-24 01:58:13 +02:00
Hactarus
5e0d2135eb [pre-commit] Update toi 4.5.0
[nano] Remove draft§ folder
[i3status] Add Eth
[alactritty] Use 256 colors
2024-03-03 20:17:06 +01:00
25 changed files with 1361 additions and 136 deletions

3
.gitignore vendored
View file

@ -1,3 +1,4 @@
git/.gitconfig-work git/.gitconfig-work
home/ home/
nano/.cache/nano/* nano/.cache/nano/
i3/.wallpapers/

View file

@ -2,7 +2,7 @@
# See https://pre-commit.com/hooks.html for more hooks # See https://pre-commit.com/hooks.html for more hooks
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0 rev: v4.5.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
- id: end-of-file-fixer - id: end-of-file-fixer

View file

@ -1,9 +1,11 @@
import = [ import = [
"~/.config/alacritty/alacritty-thems/dark_pride.toml", "~/.config/alacritty/alacritty-thems/dark_pride.toml",
"~/.config/alacritty/alacritty-thems/dracula_plus.toml", "~/.config/alacritty/alacritty-thems/dracula_plus.toml",
"~/.config/alacritty/hactatio.toml" "~/.config/alacritty/hactario.toml"
] ]
[env] [env]
TERM = "xterm-256color" TERM = "xterm-256color"
[font]
normal = { family = "Hack Nerd Font Mono" }

View file

@ -3,12 +3,16 @@ live_config_reload = true
[window] [window]
dynamic_padding = true dynamic_padding = true
decorations = 'None' decorations = 'None'
opacity = 0.8 opacity = 0.70
dynamic_title = true dynamic_title = true
[windows.class]
general = "alacritty"
[bell] [bell]
animation = "EaseOutQuad" animation = "EaseOutQuad"
duration = 150 duration = 150
color = "0xf8f8f2"
[colors] [colors]
draw_bold_text_with_bright_colors = true draw_bold_text_with_bright_colors = true
@ -21,3 +25,12 @@ multiplier = 3
save_to_clipboard = true save_to_clipboard = true
semantic_escape_chars = ",│`|:\"' ()[]{}<>\t" semantic_escape_chars = ",│`|:\"' ()[]{}<>\t"
[font]
size = 10.0
[font.normal]
family = "Hack Nerd Font Mono"
[font.bold]
family = "Hack Nerd Font Mono"
style = "Bold"

View file

@ -52,7 +52,7 @@ beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
-- This is used later as the default terminal and editor to run. -- This is used later as the default terminal and editor to run.
-- terminal = "x-terminal-emulator" -- terminal = "x-terminal-emulator"
terminal = "/home/qgodefro/.cargo/bin/alacritty" terminal = "alacritty"
editor = os.getenv("EDITOR") or "editor" editor = os.getenv("EDITOR") or "editor"
editor_cmd = terminal .. " -e " .. editor editor_cmd = terminal .. " -e " .. editor
@ -594,5 +594,5 @@ client.connect_signal("focus", function(c) c.border_color = beautiful.border_foc
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}} -- }}}
-- local battery = battery_widget:new({}) local battery = battery_widget:new({})
-- right_layout:add(battery.widget) right_layout:add(battery.widget)

326
dunst/.config/dunst/dunstrc Normal file
View file

@ -0,0 +1,326 @@
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 2
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectively.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "300x5-30+20"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 20
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 6
# Padding between text and separator.
padding = 6
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 2
# Defines color of the frame around the notification window.
frame_color = "#6272A4"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = auto
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# Transient notifications ignore this setting.
idle_threshold = 120
### Text ###
font = Hack 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<big>%s</big> <i>%a</i>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to ellipsize long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 128
# Paths to default icons.
icon_path = /run/current-system/sw/share/icons/hicolor/128x128/status:/run/current-system/sw/share/icons/hicolor/128x128/devices:/run/current-system/sw/share/icons/hicolor/128x128/actions:/usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /run/current-system/sw/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /etc/profiles/per-user/hactario/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = true
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+mod1+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+dead_acute
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282A36"
foreground = "#F8F8F2"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#44475A"
foreground = "#F8F8F2"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#6272A4"
foreground = "#FF5555"
frame_color = "#FF5555"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

2
dunst/.config/dunst/spotify.sh Executable file
View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
/usr/bin/spotifycli --statusshort > ~/.config/i3status/spotify.log

View file

@ -12,7 +12,7 @@
}; };
dotfiles = { dotfiles = {
url = "git.ood.ovh:hactarus/dotfiles"; url = "git.ood.ovh:hactarus/dotfiles";
flake = false; flake = true;
}; };
outputs = { self, nixpkgs, home-manager, ... } @inputs: { outputs = { self, nixpkgs, home-manager, ... } @inputs: {
homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration { homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration {

View file

@ -1 +1 @@
/home/qgodefro/projects/helix/runtime/ /etc/profiles/per-user/hactario/lib/runtime

246
i3/.config/config Normal file
View file

@ -0,0 +1,246 @@
#!#sh-like
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
#
# This config file uses keycodes (bindsym) and was written for the QWERTY
# layout.
#
# To get a config file with the same key positions, but for your current
# layout, use the i3-config-wizard
#
set $mod Mod4
set $term wezterm
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
#font pango:monospace 8
font pango:Noto Sans 10
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# https://wiki.archlinux.org/title/Picom
# https://github.com/chjj/compton/issues/402
# Inspect windows with: `xwininfo -tree -root`
exec --no-startup-id picom --backend=egl \
--blur-method=dual_kawase --blur-strength=12 \
--corner-radius=24 --rounded-corners-exclude='class_g = "Polybar" || class_g = "dmenu"' \
--unredir-if-possible-delay=1000 \
--shadow --shadow-exclude='class_g = "dmenu"'
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
exec --no-startup-id feh --bg-fill /home/nehu/Pictures/matcha-set.jpg
exec --no-startup-id pipewire
exec --no-startup-id pipewire-pulse
exec --no-startup-id wireplumber
# Focus with keyboard or by clicking only
focus_follows_mouse no
default_border none
gaps inner 8
gaps outer 0
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
bindsym XF86KbdBrightnessUp exec sudo keyboard-backlight up
bindsym XF86KbdBrightnessDown exec sudo keyboard-backlight down
bindsym XF86AudioRaiseVolume exec pamixer -i 5
bindsym XF86AudioLowerVolume exec pamixer -d 5
bindsym XF86AudioMute exec pamixer --toggle-mute
bindsym XF86MonBrightnessDown exec sudo brightnessctl set 10%-
bindsym XF86MonBrightnessUp exec sudo brightnessctl set 10%+
# Switch between light/dark mode
# `darkman` doesn't seem to change the color-scheme value on sway, but `gettings` does...
bindsym $mod+XF86MonBrightnessDown exec gsettings set org.gnome.desktop.interface color-scheme prefer-dark
bindsym $mod+XF86MonBrightnessUp exec gsettings set org.gnome.desktop.interface color-scheme prefer-light
bindsym $mod+Shift+s exec spectacle -f
#bindsym $mod+Shift+s exec flameshot full
# use these keys for focus, movement, and resize directions when reaching for
# the arrows is not convenient
set $up l
set $down k
set $left j
set $right semicolon
# use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
# start a terminal
bindsym $mod+Return exec $term
#bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+q kill
# `i3-dmenu-desktop` is a wrapper around `dmenu` which only displays ".desktop" apps;
# override the `dmenu` command to match the polybar style
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop \
--dmenu="dmenu -i -nb #282A2E -sb #373B41 -sf #F0C674"
# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym $left resize shrink width 10 px or 10 ppt
bindsym $down resize grow height 10 px or 10 ppt
bindsym $up resize shrink height 10 px or 10 ppt
bindsym $right resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# i3bar_command polybar
# #status_command i3status
#}
exec_always --no-startup-id start-polybar

189
i3/.config/config.keycodes Normal file
View file

@ -0,0 +1,189 @@
# WARNING
# WARNING: This configuration file is a template for the i3-config-wizard to
# WARNING: generate a config which uses keysyms in your current layout. It does
# WARNING: not get loaded by i3. Please do not change it.
# WARNING
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Start XDG autostart .desktop files using dex. See also
# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
# start a terminal
bindcode $mod+36 exec i3-sensible-terminal
# kill focused window
bindcode $mod+Shift+24 kill
# start dmenu (a program launcher)
bindcode $mod+40 exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
# change focus
bindcode $mod+44 focus left
bindcode $mod+45 focus down
bindcode $mod+46 focus up
bindcode $mod+47 focus right
# alternatively, you can use the cursor keys:
bindcode $mod+113 focus left
bindcode $mod+116 focus down
bindcode $mod+111 focus up
bindcode $mod+114 focus right
# move focused window
bindcode $mod+Shift+44 move left
bindcode $mod+Shift+45 move down
bindcode $mod+Shift+46 move up
bindcode $mod+Shift+47 move right
# alternatively, you can use the cursor keys:
bindcode $mod+Shift+113 move left
bindcode $mod+Shift+116 move down
bindcode $mod+Shift+111 move up
bindcode $mod+Shift+114 move right
# split in horizontal orientation
bindcode $mod+43 split h
# split in vertical orientation
bindcode $mod+55 split v
# enter fullscreen mode for the focused container
bindcode $mod+41 fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindcode $mod+39 layout stacking
bindcode $mod+25 layout tabbed
bindcode $mod+26 layout toggle split
# toggle tiling / floating
bindcode $mod+Shift+65 floating toggle
# change focus between tiling / floating windows
bindcode $mod+65 focus mode_toggle
# focus the parent container
bindcode $mod+38 focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindcode $mod+10 workspace number $ws1
bindcode $mod+11 workspace number $ws2
bindcode $mod+12 workspace number $ws3
bindcode $mod+13 workspace number $ws4
bindcode $mod+14 workspace number $ws5
bindcode $mod+15 workspace number $ws6
bindcode $mod+16 workspace number $ws7
bindcode $mod+17 workspace number $ws8
bindcode $mod+18 workspace number $ws9
bindcode $mod+19 workspace number $ws10
# move focused container to workspace
bindcode $mod+Shift+10 move container to workspace number $ws1
bindcode $mod+Shift+11 move container to workspace number $ws2
bindcode $mod+Shift+12 move container to workspace number $ws3
bindcode $mod+Shift+13 move container to workspace number $ws4
bindcode $mod+Shift+14 move container to workspace number $ws5
bindcode $mod+Shift+15 move container to workspace number $ws6
bindcode $mod+Shift+16 move container to workspace number $ws7
bindcode $mod+Shift+17 move container to workspace number $ws8
bindcode $mod+Shift+18 move container to workspace number $ws9
bindcode $mod+Shift+19 move container to workspace number $ws10
# reload the configuration file
bindcode $mod+Shift+54 reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindcode $mod+Shift+27 restart
# exit i3 (logs you out of your X session)
bindcode $mod+Shift+26 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindcode 44 resize shrink width 10 px or 10 ppt
bindcode 45 resize grow height 10 px or 10 ppt
bindcode 46 resize shrink height 10 px or 10 ppt
bindcode 47 resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindcode 113 resize shrink width 10 px or 10 ppt
bindcode 116 resize grow height 10 px or 10 ppt
bindcode 111 resize shrink height 10 px or 10 ppt
bindcode 114 resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindcode 36 mode "default"
bindcode 9 mode "default"
bindcode $mod+27 mode "default"
}
bindcode $mod+27 mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
}

View file

@ -1,5 +1,5 @@
# This file has been auto-generated by i3-config-wizard(1). # This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like. # It will 'FiraCode Nerd Font Mono'not be overwritten, so edit it as you like.
# #
# Should you change your keyboard layout some time, delete # Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1). # this file and re-run i3-config-wizard(1).
@ -13,7 +13,8 @@ set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font # Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below. # is used in the bar {} block below.
font 'Hack Nerd Font Mono':monospace 8 #font pango:monospace 8
font pango:Hack Nerd Font Regular 12
# This font is widely installed, provides lots of unicode glyphs, right-to-left # This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango). # text rendering and scalability on retina/hidpi displays (thanks to pango).
@ -28,7 +29,7 @@ exec --no-startup-id dex --autostart --environment i3
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen. # screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork exec --no-startup-id xss-lock --transfer-sleep-lock -- ~/.config/i3/lock.sh --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux, # NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it. # and nm-applet is a desktop environment-independent system tray GUI for it.
@ -40,13 +41,17 @@ bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
bindsym XF86AudioPlay exec "spotifycli --playpause && spotifycli --statusshort > /var/log/scripts/spotify.log"
bindsym XF86AudioNext exec "spotifycli --next && spotifycli --statusshort > /var/log/scripts/spotify.log"
bindsym XF86AudioPrev exec "spotifycli --prev && spotifycli --statusshort > /var/log/scripts/spotify.log"
# Use Mouse+$mod to drag floating windows to their wanted position # Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar, # move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier. # or left-clicking anywhere into the window while holding the floating modifier.
# tiling_drag modifier titlebar tiling_drag modifier titlebar
# start a terminal # start a terminal
bindsym $mod+Return exec /etc/profiles/per-user/hactario/bin/alacritty bindsym $mod+Return exec /etc/profiles/per-user/hactario/bin/alacritty
@ -61,7 +66,7 @@ bindsym $mod+Shift+a kill
# There also is i3-dmenu-desktop which only displays applications shipping a # There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed. # .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop # bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
bindsym $mod+d exec "dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'Hack-10.5' -p 'launch% '" bindsym $mod+d exec "dmenu_run -nf '#F8F8F2' -nb '#282A36' -sb '#6272A4' -sf '#F8F8F2' -fn 'Hack-10.5' -l 5 -p '  '"
# change focus # change focus
bindsym $mod+j focus left bindsym $mod+j focus left
@ -115,16 +120,16 @@ bindsym $mod+q focus parent
# Define names for default workspaces for which we configure key bindings later on. # Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places. # We use variables to avoid repeating the names in multiple places.
set $ws1 "1:Chat" set $ws1 "1:󰖟 "
set $ws2 "2:Main" set $ws2 "2:"
set $ws3 "3:Console" set $ws3 "3:󰈮 "
set $ws4 "4" set $ws4 "4: "
set $ws5 "5" set $ws5 "5:󰕧 "
set $ws6 "6" set $ws6 "6:󰺵 "
set $ws7 "7" set $ws7 "7:󰭹 "
set $ws8 "8" set $ws8 "8:󰙯 "
set $ws9 "9:Spotify" set $ws9 "9:"
set $ws10 "10" set $ws10 "10:󰕧 "
# switch to workspace # switch to workspace
bindsym $mod+ampersand workspace number $ws1 bindsym $mod+ampersand workspace number $ws1
@ -150,6 +155,23 @@ bindsym $mod+Shift+exclam move container to workspace number $ws8
bindsym $mod+Shift+ccedilla move container to workspace number $ws9 bindsym $mod+Shift+ccedilla move container to workspace number $ws9
bindsym $mod+Shift+agrave move container to workspace number $ws10 bindsym $mod+Shift+agrave move container to workspace number $ws10
set $monitor_main "DP-1-1"
set $monitor_vertical "DP-2"
set $monitor_integrated "eDP-1"
workspace $ws1 output $monitor_main
workspace $ws2 output $monitor_main
workspace $ws3 output $monitor_main
workspace $ws4 output $monitor_main
workspace $ws5 output $monitor_main
workspace $ws6 output $monitor_main
workspace $ws7 output $monitor_vertical
workspace $ws8 output $monitor_vertical
workspace $ws9 output $monitor_integrated
workspace $ws10 output $monitor_integrated
bindsym $mod+x [urgent=latest] focus
# reload the configuration file # reload the configuration file
bindsym $mod+Shift+c reload bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
@ -184,14 +206,20 @@ mode "resize" {
bindsym $mod+r mode "resize" bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status include ~/.config/i3/config.d/*.conf
# finds out, if available)
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
client.background #F8F8F2
bar { bar {
font pango:Hack Nerd Font Mono, FontAwesome 10 font pango:'Hack Nerd Font Regular' 12
status_command i3status -c ~/.config/i3status/config
position bottom position bottom
workspace_buttons yes status_command i3status ~/.config/i3status-rust/config.toml
# tray_output none
colors { colors {
background #282A36 background #282A36
statusline #F8F8F2 statusline #F8F8F2
@ -205,13 +233,5 @@ bar {
bindsym --release button3 exec --no-startup-id import ~/screenshot-$(date +%F-%T).png bindsym --release button3 exec --no-startup-id import ~/screenshot-$(date +%F-%T).png
} }
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4 exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
client.background #F8F8F2
exec "setxkbmap -layout be" exec "setxkbmap -layout be"

View file

@ -0,0 +1,25 @@
# set $ws1 "1:󰖟 "
# set $ws2 "2: "
# set $ws3 "3:󰈮 "
# set $ws4 "4: "
# set $ws5 "5:󰕧 "
# set $ws6 "6:󰺵 "
# set $ws7 "7:󰭹 "
# set $ws8 "8:󰙯 "
# set $ws9 "9: "
# set $ws10 "10:󰕧 "
assign [class="firefox"] $ws1
assign [class="chromium-browser"] $ws8
assign [class="chromium"] $ws8
assign [class="Thunderbird"] $ws7
assign [class="vscodium"] $ws3
assign [class="Alacritty"] $ws2
assign [class="Moonlight"] $ws6
assign [class="plex-bin"] $ws5
assign [class="vlc"] $ws5
assign [class="Spotify"] $ws9
assign [class="Spotify"] $ws9
for_window [class="Alert"] floating enable
for_window [class="dunst"] floating enable

View file

@ -3,5 +3,3 @@ label=⚡
command=/run/current-system/sw/libexec/i3blocks/battery command=/run/current-system/sw/libexec/i3blocks/battery
interval=10 interval=10
instance=1 instance=1

37
i3/.config/i3/lock.sh Executable file
View file

@ -0,0 +1,37 @@
#!/bin/sh
BLANK='#F8F8F2'
CLEAR='#44475A'
DEFAULT='#6272A4'
TEXT='#6272A4'
WRONG='#44475A'
VERIFYING='#6272A4'
i3lock \
--insidever-color=$CLEAR \
--ringver-color=$VERIFYING \
\
--insidewrong-color=$CLEAR \
--ringwrong-color=$WRONG \
\
--inside-color=$BLANK \
--ring-color=$DEFAULT \
--line-color=$BLANK \
--separator-color=$DEFAULT \
\
--verif-color=$TEXT \
--wrong-color=$TEXT \
--time-color=$TEXT \
--date-color=$TEXT \
--layout-color=$TEXT \
--keyhl-color=$WRONG \
--bshl-color=$WRONG \
\
--screen 1 \
--blur 9 \
--clock \
--indicator \
--time-str="%H:%M:%S" \
--date-str="%A, %Y-%m-%d" \
--keylayout 1 \
${@}

View file

@ -3,13 +3,10 @@ theme = "dracula"
[icons] [icons]
icons = "material-nf" icons = "material-nf"
[general]
[icons.overrides] colors = true
bat = [ color_good = "#a3be8c"
"| |", color_degraded = "#ebcb8b"
"|¼|", color_bad = "#bf616a"
"|½|", interval = 1
"|¾|", separator = "*"
"|X|",
]
bat_charging = "|^|"

View file

@ -1,70 +1,63 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general { general {
// output_format = "i3bar"
colors = true colors = true
// color_good = "#50FA7B"
// color_degraded = "#F1FA8C"
// color_bad = "#FF5555"
color_good = "#a3be8c" color_good = "#a3be8c"
color_degraded = "#ebcb8b" color_degraded = "#ebcb8b"
color_bad = "#bf616a" color_bad = "#bf616a"
separator = "" separator = ""
output_format = "i3bar" output_format = "i3bar"
interval = 5 interval = 5
separator = "󰭆"
} }
order += "ipv6" // order += "ipv6"
order += "wireless _first_" order += "volume master"
order += "ethernet _first_" order += "read_file spotify"
order += "disk /"
order += "disk /nix"
order += "disk /home" order += "disk /home"
order += "load" // order += "run_watch DHCP"
order += "memory" // order += "run_watch VPNC"
order += "run_watch DHCP" // order += "path_exists VPN"
order += "run_watch VPNC" order += "wireless wlp2s0"
order += "path_exists VPN" order += "ethernet enp0s31f6"
// order += "ethernet enp0s20f0u3c2"
order += "ethernet"
order += "battery 0" order += "battery 0"
order += "cpu_temperature 0" order += "cpu_temperature 0"
order += "tztime local" order += "tztime local"order += "tztime Montreal"
order += "tztime Montreal"
order += "tztime Brussels" order += "tztime Brussels"
wireless _first_ { wireless wlp2s0 {
format_up = "W: (%quality at %essid) %ip (%speed)" format_up = " (%quality at %essid, %bitrate) %ip"
format_down = "W: down" format_down = "󱚵 "
} }
ethernet _first_ { ethernet enp0s31f6 {
format_up = "E: %ip (%speed)" format_up = "󰈀 %ip"
format_down = "E: down" format_down = "󰈀 "
} }
ethernet enp0s20f0u3c2 {
format_up = "󰈁 %ip"
battery all { format_down = "󰈁 "
format = "%status %percentage %remaining"
}
load {
format = "%1min"
}
memory {
format = "%used | %available"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
} }
battery 0 { battery 0 {
format = "%status %percentage %remaining %emptytime" format = "%status %percentage %remaining"
format_down = "No battery" format_down = ""
status_chr = "⚡ CHR" last_full_capacity = true
status_bat = "🔋 BAT" integer_battery_capacity = true
status_unk = "? UNK" low_threshold = 11
status_full = "☻ FULL" threshold_type = percentage
hide_seconds = true
status_chr = " ⚡ "
status_bat = " 🪫 "
status_unk = " 🔌 "
status_full = " 🔋 "
path = "/sys/class/power_supply/BAT%d/uevent" path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 10
} }
run_watch DHCP { run_watch DHCP {
@ -82,36 +75,54 @@ path_exists VPN {
} }
tztime local { tztime local {
format = "%Y-%m-%d %H:%M:%S" format = "📅 %V %a 󰃭 %Y-%m-%d %H:%M:%S %Z"
hide_if_equals_localtime = true hide_if_equals_localtime = true
} }
tztime Brussels { tztime Brussels {
format = "%Y-%m-%d %H:%M:%S %Z" format = "📅 %V %a 󰃭 %Y-%m-%d %H:%M:%S %Z"
timezone = "Europe/Brussels" timezone = "Europe/Brussels"
} }
tztime Montreal { tztime Montreal {
format = "%H:%M %Z" format = "%H:%M:%S %Z"
timezone = "America/Montreal" timezone = "America/Montreal"
hide_if_equals_localtime = true hide_if_equals_localtime = true
} }
load { load {
format = "%5min" format = "%5min"
} }
cpu_temperature 0 { cpu_temperature 0 {
format = "T: %degrees °C" format = "🌡️ %degrees"
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input"
} }
memory { memory {
format = "%used" format = "%used"
threshold_degraded = "10%" threshold_degraded = "10%"
format_degraded = "MEMORY: %free" format_degraded = "MEMORY: %free"
} }
disk "/" { disk "/" {
format = "%free" format = " / %free"
prefix_type = custom
low_threshold = 20
threshold_type = percentage_avail
}
disk "/nix" {
format = "💻 /nix %free"
prefix_type = custom
low_threshold = 15
threshold_type = percentage_avail
}
disk "/home" {
format = "💾 /home %free"
prefix_type = custom
low_threshold = 10
threshold_type = percentage_avail
} }
disk "/home" { disk "/home" {
@ -121,3 +132,17 @@ disk "/home" {
read_file uptime { read_file uptime {
path = "/proc/uptime" path = "/proc/uptime"
} }
volume master {
format = "%volume 󰕾 "
format_muted = "󰖁 "
// device = "pulse:1"pavuc
device = "default"
mixer = "Master"
mixer_idx = 0
}
read_file spotify {
format = "🔊%content"
path = "~/.config/i3status/spotify.log"
}

View file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 MiB

View file

@ -59,7 +59,7 @@ set statuscolor brightwhite,red
#set numbercolor magenta #set numbercolor magenta
# set keycolor brightmagenta # set keycolor brightmagenta
# set functioncolor magenta # set functioncolor magenta
include "/usr/share/nano/*.nanorc" #include "/usr/share/nano/*.nanorc"
# bind ^S savefile main # bind ^S savefile main
# bind M-B cutwordleft main # bind M-B cutwordleft main
# bind M-N cutwordright main # bind M-N cutwordright main

View file

@ -0,0 +1,14 @@
# Default opacity of active windows.
active-opacity = 1.0;
# Default opacity of inactive windows.
inactive-opacity = 1.0;
# Opacity of window titlebars and borders.
frame-opacity = 1.0;
# Application-specific settings; these override the default `active-opacity`
opacity-rule = [
"95:class_g = 'Alacritty' && focused",
"80:class_g = 'Alacritty' && !focused"
];

View file

@ -0,0 +1,336 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #282A36
background-alt = #BFBFBF
foreground = #F8F8F2
primary = #F8F8F2
secondary = #282A36
alert = #44475A
disabled = #44475A
[bar/main]
monitor = "DP-1-2"
# Last component is the vertical offset
#font-0 = Fira Code:size=10;4
; font-0 = FiraMono Nerd Font:size=12;4
#fc-match FontAwesome:pixelsize=14 FontAwesome.otf: "FontAwesome" "Regular"
; font-3 = FontAwesome:pixelsize=14;0
#font-0 = Overpass Nerd Font,Overpass Nerd Font SemBd:size=10;4
#font-0 = FiraCode:size=10;4
#font-0 = Overpass Nerd Font:size=10;4
#font-1 = Noto Sans:size=10;4
font-0 = fixed:pixelsize=12;1
font-1 = unifont:fontformat=truetype:size=10:antialias=false;0
font-2 = "FiraCode Nerd Font:pixelsize=12;1"
width = 100%
height = 16pt
radius = 0
#dpi = 192
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2pt
border-size = 0pt
border-color = #00000000
padding-left = 0
padding-right = 1
module-margin = 1
separator = |
separator-foreground = ${colors.disabled}
modules-left = xworkspaces xwindow
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
#modules-right = pulseaudio wlan eth battery date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
tray-position = right
; wm-restack = generic
; wm-restack = bspwm
wm-restack = i3
; override-redirect = true
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = " "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
label-volume = %percentage%%
label-muted = " muted"
label-muted-foreground = ${colors.disabled}
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.primary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
[module/wlan]
inherit = network-base
interface-type = wireless
format-connected = <ramp-signal> <label-connected>
label-connected = %local_ip%
#label-connected = %{F#F0C674} %{F-} %local_ip%
#label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected 
ramp-signal-0 = %{F#F0C674}󰤯 %{F-}
ramp-signal-1 = %{F#F0C674}󰤟 %{F-}
ramp-signal-2 = %{F#F0C674}󰤢 %{F-}
ramp-signal-3 = %{F#F0C674}󰤥 %{F-}
ramp-signal-4 = %{F#F0C674}󰤨 %{F-}
ramp-signal-5 = %{F#F0C674} %{F-}
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname% 󱚽 %{F-} %local_ip%
#label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/battery]
type = internal/battery
# $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = ADP1
low-at = 15
# If an inotify event haven't been reported in this many
# seconds, manually poll for new values.
#
# Needed as a fallback for systems that don't report events
# on sysfs/procfs.
#
# Disable polling by setting the interval to 0.
#
# Default: 5
#poll-interval = 5
# Available tags:
# <label-charging> (default)
# <bar-capacity>
# <ramp-capacity>
# <animation-charging>
format-charging = <animation-charging> <label-charging>
# Available tags:
# <label-discharging> (default)
# <bar-capacity>
# <ramp-capacity>
# <animation-discharging>
#format-discharging = <animation-discharging> <label-discharging>
format-discharging = <ramp-capacity> <label-discharging>
# Available tokens:
# %percentage% (default) - is set to 100 if full-at is reached
# %percentage_raw%
# %time%
# %consumption% (shows current charge rate in watts)
label-charging = %percentage%%
#label-charging = Charging %percentage%%
# Available tokens:
# %percentage% (default) - is set to 100 if full-at is reached
# %percentage_raw%
# %time%
# %consumption% (shows current discharge rate in watts)
label-discharging = %percentage%%
#label-discharging = Discharging %percentage%%
# Available tokens:
# %percentage% (default) - is set to 100 if full-at is reached
# %percentage_raw%
label-full = "%{F#F0C674}󰂅 %{F-}"
# Available tokens:
# %percentage% (default) - is set to 100 if full-at is reached
# %percentage_raw%
# %time%
# %consumption% (shows current discharge rate in watts)
# New in version 3.6.0
label-low = BATTERY LOW
# Only applies if <ramp-capacity> is used
ramp-capacity-0 = "%{F#F04020} %{F-}"
ramp-capacity-1 = "%{F#F0C674} %{F-}"
ramp-capacity-2 = "%{F#F0C674} %{F-}"
ramp-capacity-3 = "%{F#F0C674} %{F-}"
ramp-capacity-4 = "%{F#F0C674} %{F-}"
# Only applies if <bar-capacity> is used
bar-capacity-width = 10
# Only applies if <animation-charging> is used
animation-charging-0 = "%{F#F0C674}󰢜 %{F-}"
animation-charging-1 = "%{F#F0C674}󰂆 %{F-}"
animation-charging-2 = "%{F#F0C674}󰂈 %{F-}"
animation-charging-3 = "%{F#F0C674}󰂉 %{F-}"
animation-charging-4 = "%{F#F0C674}󰂊 %{F-}"
# Framerate in milliseconds
animation-charging-framerate = 750
# Only applies if <animation-discharging> is used
animation-discharging-0 = " "
animation-discharging-1 = " "
animation-discharging-2 = " "
animation-discharging-3 = " "
animation-discharging-4 = " "
# Framerate in milliseconds
animation-discharging-framerate = 500
[module/date]
type = internal/date
interval = 1
date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
#label-foreground = ${colors.primary}
[settings]
screenchange-reload = true
pseudo-transparency = true
[module/i3]
type = internal/i3
; Only show workspaces defined on the same output as the bar
;
; Useful if you want to show monitor specific workspaces
; on different bars
;
; Default: false
pin-workspaces = false
; Show urgent workspaces regardless of whether the workspace is actually hidden
; by pin-workspaces.
;
; Default: false
; New in version 3.6.0
show-urgent = true
; This will split the workspace name on ':'
; Default: false
strip-wsnumbers = true
; Sort the workspaces by index instead of the default
; sorting that groups the workspaces by output
; Default: false
index-sort = true
; Create click handler used to focus workspace
; Default: true
enable-click = false
; Create scroll handlers used to cycle workspaces
; Default: true
enable-scroll = false
; Wrap around when reaching the first/last workspace
; Default: true
wrapping-scroll = false
; Set the scroll cycle direction
; Default: true
reverse-scroll = false
; Use fuzzy (partial) matching for wc-icon.
; Example: code;♚ will apply the icon to all workspaces
; containing 'code' in the name
; Changed in version 3.7.0: Selects longest string match instead of the first match.
; Default: false
fuzzy-match = true
; vim:ft=dosini

View file

@ -8,16 +8,20 @@ git submodule update
# what directories should be installable by all users including the root user # what directories should be installable by all users including the root user
base=( base=(
picom
dracula dracula
dunst
git git
helix helix
htop htop
i3
nano nano
nix nix
polybar
puppet puppet
ssh ssh
i3
sway sway
i3
terminfo terminfo
tmux tmux
vim vim

@ -1 +1 @@
Subproject commit b5583a321644218702c4ef588934575f46a2159b Subproject commit a72a26406ad3aa9a47c3f5227291bad23494bed0

View file

@ -1,5 +1,6 @@
export PATH=$HOME/bins/toolbox:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$HOME/.pyenv/bin:$HOME/hosting-run-scripts/:$PATH export PATH=$HOME/bins/toolbox:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$HOME/hosting-run-scripts/:$PATH
export ZSH=$HOME/.oh-my-zsh export ZSH=$HOME/.oh-my-zsh
source ~/hosting-run-scripts/rc-files/ovhrc
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="agnoster" ZSH_THEME="agnoster"
HOST_COLOR=$(hostname -f | xxd -u -ps -s 5 -l 3 || 'FF0000') HOST_COLOR=$(hostname -f | xxd -u -ps -s 5 -l 3 || 'FF0000')
@ -30,7 +31,7 @@ eval "$(pyenv init --path)"
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=( plugins=(
adb #adb
#ant #ant
#apache2-macports #apache2-macports
#arcanist #arcanist
@ -88,7 +89,7 @@ docker-compose
#eecms #eecms
#emacs #emacs
#ember-cli #ember-cli
emoji #emoji
#emoji-clock #emoji-clock
#emotty #emotty
encode64 encode64
@ -168,7 +169,6 @@ man
#n98-magerun #n98-magerun
nanoc nanoc
#ng #ng
#nix
#nmap #nmap
node node
#nomad #nomad
@ -194,7 +194,7 @@ postgres
#powify #powify
#profiles #profiles
pyenv pyenv
pylint #pylint
python python
#rails #rails
#rake #rake
@ -208,7 +208,7 @@ redis-cli
#repo #repo
rsync rsync
#ruby #ruby
rust #rust
#rvm #rvm
#safe-paste #safe-paste
#sbt #sbt
@ -249,7 +249,7 @@ tmux
#tmuxinator #tmuxinator
#torrent #torrent
#tugboat #tugboat
ubuntu #ubuntu
#urltools #urltools
vagrant vagrant
vault vault
@ -274,7 +274,7 @@ vault
) )
zstyle :omz:plugins:ssh-agent agent-forwarding on zstyle :omz:plugins:ssh-agent agent-forwarding on
zstyle :omz:plugins:ssh-agent identities $(hostname -f) zstyle :omz:plugins:ssh-agent identities work_201909
zstyle :omz:plugins:ssh-agent lifetime 4h zstyle :omz:plugins:ssh-agent lifetime 4h
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
@ -344,19 +344,10 @@ alias osc='openstack console log show'
alias oss='openstack server' alias oss='openstack server'
alias psa='ps auxwwwf' alias psa='ps auxwwwf'
alias toph='top -cHd1' alias toph='top -cHd1'
alias vdir='vdir --color=auto'
alias ip="ip --color" alias ip="ip --color"
VAULT_ADDR="https://vault.ood.ovh:8200"
alias gw01='z3 gw01.infra.mps.gs.ovh.net' source ~/.webhosting/activate
alias hr-admin='z3 root@hr-admin.rungs.ovh'
alias public='z3 root@public01.infra.gs.ovh.net'
alias thot_cloudweb-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=c89ec346-ce0d-4504-b69b-b3c216e91385'\'''
alias thot_reseller-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=e4bdf746-d041-41d3-81a5-7e4629d3e507'\'''
alias m5='sm3 ovh@mozg-mutu5.ovh.ha.ovh.net'
alias melt='sm3 gs@mozg-meltingpot.ovh.ha.ovh.net'
alias mis='sm3 mozg-mis.ovh.ha.ovh.net'
alias logalert='sm3 --osh logovh --log alert | grep -E "MUTU|INTERNE|CLOUDWEB"'
alias evilssh='ssh sm3.ovh.net -- --osh selfForgetHostKey --host mis-reseller.lb.engine.ha.ovh.net --port 10666 && ssh -t sm3.ovh.net -- root@mis-reseller.lb.engine.ha.ovh.net -p 10666'
if [ -f ~/.webhosting/activate ]; then source ~/.webhosting/activate; fi
autoload -Uz compinit autoload -Uz compinit
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
fpath+=~/.zfunc fpath+=~/.zfunc
@ -366,4 +357,3 @@ alias osm="openstack --os-cloud management_stack"
alias osmb="openstack --os-cloud management_stack_sbg" alias osmb="openstack --os-cloud management_stack_sbg"
alias osmd="openstack --os-cloud management_stack_de" alias osmd="openstack --os-cloud management_stack_de"
export BASTION_CONF_FILE=~/.config/ovh/bastion.env export BASTION_CONF_FILE=~/.config/ovh/bastion.env
VAULT_ADDR="https://vault.ood.ovh:8200"