initial commit
This commit is contained in:
57
configuration.nix
Normal file
57
configuration.nix
Normal file
@ -0,0 +1,57 @@
|
||||
# Edit this configuration file to define what should be installed on your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
# imports = [];
|
||||
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 1;
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = lib.mkDefault true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Paris";
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.startx.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# hardware.pulseaudio.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager). services.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.tom = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
initialPassword = "password";
|
||||
# packages = with pkgs; [];
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search,: $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
home-manager
|
||||
killall
|
||||
vim
|
||||
];
|
||||
|
||||
#Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
#Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
|
||||
}
|
29
dotfiles/bashrc
Normal file
29
dotfiles/bashrc
Normal file
@ -0,0 +1,29 @@
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
alias vim=nvim
|
||||
alias vi=nvim
|
||||
alias "copy=xclip -selection c"
|
||||
cat_cp() {
|
||||
cat $@ | xclip -selection c
|
||||
}
|
||||
|
||||
shopt -s histappend
|
||||
|
||||
alias clr=clear
|
||||
|
||||
cd() {
|
||||
builtin cd "$@"
|
||||
echo -n "$PWD" > ~/.last_directory
|
||||
}
|
||||
|
||||
if [ -f ~/.last_directory ];then
|
||||
echo -n going to
|
||||
cat ~/.last_directory
|
||||
echo
|
||||
builtin cd "$(cat ~/.last_directory)"
|
||||
fi
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PATH="$HOME/pyenv/bin:$PATH"
|
||||
alias tagueule="asusctl profile -P Quiet"
|
8
dotfiles/config/alacritty/alacritty.toml
Normal file
8
dotfiles/config/alacritty/alacritty.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[window]
|
||||
opacity = 0.90
|
||||
|
||||
[env]
|
||||
XTERM = "xterm-256color"
|
||||
|
||||
[font]
|
||||
size = 12
|
40
dotfiles/config/bspwm/bspwmrc
Executable file
40
dotfiles/config/bspwm/bspwmrc
Executable file
@ -0,0 +1,40 @@
|
||||
#! /bin/sh
|
||||
|
||||
INTEGRATED="eDP-1"
|
||||
HDMI="HDMI-1"
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
killall polybar
|
||||
if xrandr | grep "$HDMI connected" && cat /proc/acpi/button/lid/LID/state | grep "closed"; then
|
||||
bash ~/.screenlayout/b.sh
|
||||
bspc monitor $HDMI -d 1 2 3 4 5
|
||||
bspc monitor $INTEGRATED -r
|
||||
elif xrandr | grep "$HDMI connected";then
|
||||
bash ~/.screenlayout/a.sh
|
||||
bspc monitor $INTEGRATED -d 1 2 3 4
|
||||
bspc monitor $HDMI -d A B
|
||||
else
|
||||
bspc monitor -d 1 2 3 4 5
|
||||
xrandr -r 60
|
||||
fi
|
||||
bspc desktop 1 -f
|
||||
(polybar -q main -c "$HOME/.config/polybar/config.ini")&
|
||||
#(pulseaudio -D; polybar -q main -c "$HOME/.config/polybar/config.ini")&
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 10
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
pgrep -x alacritty > /dev/null || alacritty &
|
||||
|
||||
#autostart appps
|
||||
picom &
|
||||
nitrogen --restore &
|
||||
dunst &
|
||||
numlockx on &
|
||||
setxkbmap fr us&
|
||||
killall activate-linux
|
||||
(sleep 1;activate-linux -c 1-1-1-0.7 -V 50 -H 70 -d)&
|
BIN
dotfiles/config/nitrogen/607699.png
Normal file
BIN
dotfiles/config/nitrogen/607699.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
9
dotfiles/config/nitrogen/bg-saved.cfg
Normal file
9
dotfiles/config/nitrogen/bg-saved.cfg
Normal file
@ -0,0 +1,9 @@
|
||||
[xin_0]
|
||||
file=/home/tom/.config/nitrogen/thumb-1920-814854.png
|
||||
mode=0
|
||||
bgcolor=#000000
|
||||
|
||||
[xin_1]
|
||||
file=/home/tom/.config/nitrogen/thumb-1920-814854.png
|
||||
mode=0
|
||||
bgcolor=#000000
|
12
dotfiles/config/nitrogen/nitrogen.cfg
Normal file
12
dotfiles/config/nitrogen/nitrogen.cfg
Normal file
@ -0,0 +1,12 @@
|
||||
[geometry]
|
||||
posx=0
|
||||
posy=32
|
||||
sizex=450
|
||||
sizey=500
|
||||
|
||||
[nitrogen]
|
||||
view=icon
|
||||
recurse=true
|
||||
sort=alpha
|
||||
icon_caps=false
|
||||
dirs=/home/tom/.config/nitrogen;
|
BIN
dotfiles/config/nitrogen/thumb-1920-814854.png
Normal file
BIN
dotfiles/config/nitrogen/thumb-1920-814854.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
15
dotfiles/config/nvim/init.vim
Normal file
15
dotfiles/config/nvim/init.vim
Normal file
@ -0,0 +1,15 @@
|
||||
source ~/.vimrc
|
||||
|
||||
let mapleader=";"
|
||||
colorscheme vim
|
||||
|
||||
call plug#begin('~/.config/nvim/plugged')
|
||||
Plug 'bling/vim-bufferline'
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim'
|
||||
call plug#end()
|
||||
|
||||
nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
||||
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
|
||||
nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
||||
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|
150
dotfiles/config/nvim/plugin/stdheader.vim
Normal file
150
dotfiles/config/nvim/plugin/stdheader.vim
Normal file
@ -0,0 +1,150 @@
|
||||
let s:asciiart = [
|
||||
\" ::: ::::::::",
|
||||
\" :+: :+: :+:",
|
||||
\" +:+ +:+ +:+ ",
|
||||
\" +#+ +:+ +#+ ",
|
||||
\"+#+#+#+#+#+ +#+ ",
|
||||
\" #+# #+# ",
|
||||
\" ### ########.fr "
|
||||
\]
|
||||
let g:user42 = 'tomoron'
|
||||
let g:mail42 = 'tomoron@student.42angouleme.fr'
|
||||
let s:start = '/*'
|
||||
let s:end = '*/'
|
||||
let s:fill = '*'
|
||||
let s:length = 80
|
||||
let s:margin = 5
|
||||
|
||||
let s:types = {
|
||||
\'\.c$\|\.h$\|\.cc$\|\.hh$\|\.cpp$\|\.hpp$\|\.php':
|
||||
\['/*', '*/', '*'],
|
||||
\'\.htm$\|\.html$\|\.xml$':
|
||||
\['<!--', '-->', '*'],
|
||||
\'\.js$':
|
||||
\['//', '//', '*'],
|
||||
\'\.tex$':
|
||||
\['%', '%', '*'],
|
||||
\'\.ml$\|\.mli$\|\.mll$\|\.mly$':
|
||||
\['(*', '*)', '*'],
|
||||
\'\.vim$\|\vimrc$':
|
||||
\['"', '"', '*'],
|
||||
\'\.el$\|\emacs$':
|
||||
\[';', ';', '*'],
|
||||
\'\.f90$\|\.f95$\|\.f03$\|\.f$\|\.for$':
|
||||
\['!', '!', '/']
|
||||
\}
|
||||
|
||||
function! s:filetype()
|
||||
let l:f = s:filename()
|
||||
|
||||
let s:start = '#'
|
||||
let s:end = '#'
|
||||
let s:fill = '*'
|
||||
|
||||
for type in keys(s:types)
|
||||
if l:f =~ type
|
||||
let s:start = s:types[type][0]
|
||||
let s:end = s:types[type][1]
|
||||
let s:fill = s:types[type][2]
|
||||
endif
|
||||
endfor
|
||||
|
||||
endfunction
|
||||
|
||||
function! s:ascii(n)
|
||||
return s:asciiart[a:n - 3]
|
||||
endfunction
|
||||
|
||||
function! s:textline(left, right)
|
||||
let l:left = strpart(a:left, 0, s:length - s:margin * 2 - strlen(a:right))
|
||||
|
||||
return s:start . repeat(' ', s:margin - strlen(s:start)) . l:left . repeat(' ', s:length - s:margin * 2 - strlen(l:left) - strlen(a:right)) . a:right . repeat(' ', s:margin - strlen(s:end)) . s:end
|
||||
endfunction
|
||||
|
||||
function! s:line(n)
|
||||
if a:n == 1 || a:n == 11 " top and bottom line
|
||||
return s:start . ' ' . repeat(s:fill, s:length - strlen(s:start) - strlen(s:end) - 2) . ' ' . s:end
|
||||
elseif a:n == 2 || a:n == 10 " blank line
|
||||
return s:textline('', '')
|
||||
elseif a:n == 3 || a:n == 5 || a:n == 7 " empty with ascii
|
||||
return s:textline('', s:ascii(a:n))
|
||||
elseif a:n == 4 " filename
|
||||
return s:textline(s:filename(), s:ascii(a:n))
|
||||
elseif a:n == 6 " author
|
||||
return s:textline("By: " . s:user() . " <" . s:mail() . ">", s:ascii(a:n))
|
||||
elseif a:n == 8 " created
|
||||
return s:textline("Created: " . s:date() . " by " . s:user(), s:ascii(a:n))
|
||||
elseif a:n == 9 " updated
|
||||
return s:textline("Updated: " . s:date() . " by " . s:user(), s:ascii(a:n))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:user()
|
||||
if exists('g:user42')
|
||||
return g:user42
|
||||
endif
|
||||
let l:user = $USER
|
||||
if strlen(l:user) == 0
|
||||
let l:user = "marvin"
|
||||
endif
|
||||
return l:user
|
||||
endfunction
|
||||
|
||||
function! s:mail()
|
||||
if exists('g:mail42')
|
||||
return g:mail42
|
||||
endif
|
||||
let l:mail = $MAIL
|
||||
if strlen(l:mail) == 0
|
||||
let l:mail = "marvin@42.fr"
|
||||
endif
|
||||
return l:mail
|
||||
endfunction
|
||||
|
||||
function! s:filename()
|
||||
let l:filename = expand("%:t")
|
||||
if strlen(l:filename) == 0
|
||||
let l:filename = "< new >"
|
||||
endif
|
||||
return l:filename
|
||||
endfunction
|
||||
|
||||
function! s:date()
|
||||
return strftime("%Y/%m/%d %H:%M:%S")
|
||||
endfunction
|
||||
|
||||
function! s:insert()
|
||||
let l:line = 11
|
||||
|
||||
" empty line after header
|
||||
call append(0, "")
|
||||
|
||||
" loop over lines
|
||||
while l:line > 0
|
||||
call append(0, s:line(l:line))
|
||||
let l:line = l:line - 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
function! s:update()
|
||||
call s:filetype()
|
||||
if getline(9) =~ s:start . repeat(' ', s:margin - strlen(s:start)) . "Updated: "
|
||||
if &mod
|
||||
call setline(9, s:line(9))
|
||||
endif
|
||||
call setline(4, s:line(4))
|
||||
return 0
|
||||
endif
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
function! s:stdheader()
|
||||
if s:update()
|
||||
call s:insert()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Bind command and shortcut
|
||||
command! Stdheader call s:stdheader ()
|
||||
map <F1> :Stdheader<CR>
|
||||
autocmd BufWritePre * call s:update ()
|
15
dotfiles/config/polybar/colors.ini
Normal file
15
dotfiles/config/polybar/colors.ini
Normal file
@ -0,0 +1,15 @@
|
||||
[color]
|
||||
|
||||
;; Use pywal.sh in scripts directory to use colors from an image/wallpaper.
|
||||
|
||||
;; main colors
|
||||
background = #AA111111
|
||||
foreground = #CCCCCC
|
||||
foreground-alt = #FFFFFF
|
||||
alpha = #00000000
|
||||
|
||||
;; shades
|
||||
shade1 = #AAFFFFFF
|
||||
shade2 = #AAFF0000
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
297
dotfiles/config/polybar/config-small.ini
Normal file
297
dotfiles/config/polybar/config-small.ini
Normal file
@ -0,0 +1,297 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# config-small.ini :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/08/28 20:38:59 by tomoron #+# #+# #
|
||||
# Updated: 2024/09/30 16:01:08 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
;; Global WM Settings
|
||||
|
||||
[global/wm]
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||
; Used for top aligned bars
|
||||
margin-bottom = 0
|
||||
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||
; Used for bottom aligned bars
|
||||
margin-top = 0
|
||||
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; File Inclusion
|
||||
; include an external file, like module file, etc.
|
||||
|
||||
include-file = ~/.config/polybar/colors.ini
|
||||
include-file = ~/.config/polybar/modules.ini
|
||||
include-file = ~/.config/polybar/user_modules.ini
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; Bar Settings
|
||||
|
||||
[bar/main]
|
||||
; Use either of the following command to list available outputs:
|
||||
; If unspecified, the application will pick the first one it finds.
|
||||
; $ polybar -m | cut -d ':' -f 1
|
||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||
monitor = ${env:MONITOR:}
|
||||
|
||||
; Use the specified monitor as a fallback if the main one is not found.
|
||||
monitor-fallback =
|
||||
|
||||
; Require the monitor to be in connected state
|
||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||
monitor-strict = false
|
||||
|
||||
; Tell the Window Manager not to configure the window.
|
||||
; Use this to detach the bar if your WM is locking its size/position.
|
||||
override-redirect = false
|
||||
|
||||
; Put the bar at the bottom of the screen
|
||||
bottom = false
|
||||
|
||||
; Prefer fixed center position for the `modules-center` block
|
||||
; When false, the center position will be based on the size of the other blocks.
|
||||
fixed-center = true
|
||||
|
||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||
width = 100%
|
||||
height = 40
|
||||
|
||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in an offset in the x or y direction
|
||||
; of 50% minus 10 pixels
|
||||
offset-x = 0
|
||||
offset-y = 0
|
||||
|
||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
background = ${color.alpha}
|
||||
|
||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
foreground = ${color.foreground}
|
||||
|
||||
; Background gradient (vertical steps)
|
||||
; background-[0-9]+ = #aarrggbb
|
||||
;;background-0 =
|
||||
|
||||
; Value used for drawing rounded corners
|
||||
; Note: This shouldn't be used together with border-size because the border
|
||||
; doesn't get rounded
|
||||
; Individual top/bottom values can be defined using:
|
||||
; radius-{top,bottom}
|
||||
radius-top = 0.0
|
||||
radius-bottom = 0.0
|
||||
|
||||
; Under-/overline pixel size and argb color
|
||||
; Individual values can be defined using:
|
||||
; {overline,underline}-size
|
||||
; {overline,underline}-color
|
||||
underline-size = 2
|
||||
underline-color = ${color.foreground}
|
||||
|
||||
; Values applied to all borders
|
||||
; Individual side values can be defined using:
|
||||
; border-{left,top,right,bottom}-size
|
||||
; border-{left,top,right,bottom}-color
|
||||
; The top and bottom borders are added to the bar height, so the effective
|
||||
; window height is:
|
||||
; height + border-top-size + border-bottom-size
|
||||
; Meanwhile the effective window width is defined entirely by the width key and
|
||||
; the border is placed withing this area. So you effectively only have the
|
||||
; following horizontal space on the bar:
|
||||
; width - border-right-size - border-left-size
|
||||
border-size = 0
|
||||
border-color = ${color.background}
|
||||
|
||||
; Number of spaces to add at the beginning/end of the bar
|
||||
; Individual side values can be defined using:
|
||||
; padding-{left,right}
|
||||
padding = 0
|
||||
|
||||
; Number of spaces to add before/after each module
|
||||
; Individual side values can be defined using:
|
||||
; module-margin-{left,right}
|
||||
module-margin-left = 0
|
||||
module-margin-right = 0
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; Fonts are defined using <font-name>;<vertical-offset>
|
||||
; Font names are specified using a fontconfig pattern.
|
||||
; font-0 = NotoSans-Regular:size=8;2
|
||||
; font-1 = MaterialIcons:size=10
|
||||
; font-2 = Termsynu:size=8;-1
|
||||
; font-3 = FontAwesome:size=10
|
||||
; See the Fonts wiki page for more details
|
||||
|
||||
font-0 = "Iosevka Nerd Font:style=Bold:pixelsize=13;4"
|
||||
font-1 = "Iosevka Nerd Font:style=Bold:pixelsize=15;4"
|
||||
font-2 = "Iosevka Nerd Font:style=Bold:pixelsize=15;4"
|
||||
|
||||
; Modules are added to one of the available blocks
|
||||
; modules-left = cpu ram
|
||||
; modules-center = xwindow xbacklight
|
||||
; modules-right = ipc clock
|
||||
|
||||
modules-left = workspaces space mpris
|
||||
modules-center =
|
||||
modules-right = fans dgpu memory sep filesystem sep cpu sep temperature sep pulseaudio sep battery sep network sep date
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; The separator will be inserted between the output of each module
|
||||
separator =
|
||||
|
||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||
dim-value = 1.0
|
||||
|
||||
; Value to be used to set the WM_NAME atom
|
||||
; If the value is empty or undefined, the atom value
|
||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||
; NOTE: The placeholders are not available for custom values
|
||||
wm-name =
|
||||
|
||||
; Locale used to localize various module data (e.g. date)
|
||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||
locale =
|
||||
|
||||
; Position of the system tray window
|
||||
; If empty or undefined, tray support will be disabled
|
||||
; NOTE: A center aligned tray will cover center aligned modules
|
||||
;
|
||||
; Available positions:
|
||||
; left
|
||||
; center
|
||||
; right
|
||||
; none
|
||||
tray-position = none
|
||||
|
||||
; If true, the bar will not shift its
|
||||
; contents when the tray changes
|
||||
tray-detached = false
|
||||
|
||||
; Tray icon max size
|
||||
tray-maxsize = 16
|
||||
|
||||
; Background color for the tray container
|
||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
; By default the tray container will use the bar
|
||||
; background color.
|
||||
tray-background = ${color.background}
|
||||
|
||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
|
||||
; Pad the sides of each tray icon
|
||||
tray-padding = 0
|
||||
|
||||
; Scale factor for tray clients
|
||||
tray-scale = 1.0
|
||||
|
||||
; Restack the bar window and put it above the
|
||||
; selected window manager's root
|
||||
;
|
||||
; Fixes the issue where the bar is being drawn
|
||||
; on top of fullscreen window's
|
||||
;
|
||||
; Currently supported WM's:
|
||||
; bspwm
|
||||
; i3 (requires: `override-redirect = true`)
|
||||
;;wm-restack =
|
||||
|
||||
; Set a DPI values used when rendering text
|
||||
; This only affects scalable fonts
|
||||
; dpi =
|
||||
|
||||
; Enable support for inter-process messaging
|
||||
; See the Messaging wiki page for more details.
|
||||
enable-ipc = true
|
||||
|
||||
; Fallback click handlers that will be called if
|
||||
; there's no matching module handler found.
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
scroll-up =
|
||||
scroll-down =
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
|
||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||
; Possible values are:
|
||||
; - default : The default pointer as before, can also be an empty string (default)
|
||||
; - pointer : Typically in the form of a hand
|
||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||
cursor-click =
|
||||
cursor-scroll =
|
||||
|
||||
;; WM Workspace Specific
|
||||
|
||||
; bspwm
|
||||
;;scroll-up = bspwm-desknext
|
||||
;;scroll-down = bspwm-deskprev
|
||||
;;scroll-up = bspc desktop -f prev.local
|
||||
;;scroll-down = bspc desktop -f next.local
|
||||
|
||||
;i3
|
||||
;;scroll-up = i3wm-wsnext
|
||||
;;scroll-down = i3wm-wsprev
|
||||
;;scroll-up = i3-msg workspace next_on_output
|
||||
;;scroll-down = i3-msg workspace prev_on_output
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; Application Settings
|
||||
|
||||
[settings]
|
||||
; The throttle settings lets the eventloop swallow up til X events
|
||||
; if they happen within Y millisecond after first event was received.
|
||||
; This is done to prevent flood of update event.
|
||||
;
|
||||
; For example if 5 modules emit an update event at the same time, we really
|
||||
; just care about the last one. But if we wait too long for events to swallow
|
||||
; the bar would appear sluggish so we continue if timeout
|
||||
; expires or limit is reached.
|
||||
throttle-output = 5
|
||||
throttle-output-for = 10
|
||||
|
||||
; Time in milliseconds that the input handler will wait between processing events
|
||||
;throttle-input-for = 30
|
||||
|
||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||
screenchange-reload = false
|
||||
|
||||
; Compositing operators
|
||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||
compositing-background = source
|
||||
compositing-foreground = over
|
||||
compositing-overline = over
|
||||
compositing-underline = over
|
||||
compositing-border = over
|
||||
|
||||
; Define fallback values used by all module formats
|
||||
;format-foreground =
|
||||
;format-background =
|
||||
;format-underline =
|
||||
;format-overline =
|
||||
;format-spacing =
|
||||
;format-padding =
|
||||
;format-margin =
|
||||
;format-offset =
|
||||
|
||||
; Enables pseudo-transparency for the bar
|
||||
; If set to true the bar can be transparent without a compositor.
|
||||
pseudo-transparency = false
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
297
dotfiles/config/polybar/config.ini
Normal file
297
dotfiles/config/polybar/config.ini
Normal file
@ -0,0 +1,297 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# config.ini :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/08/28 20:38:59 by tomoron #+# #+# #
|
||||
# Updated: 2024/09/28 02:47:34 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
;; Global WM Settings
|
||||
|
||||
[global/wm]
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||
; Used for top aligned bars
|
||||
margin-bottom = 0
|
||||
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||
; Used for bottom aligned bars
|
||||
margin-top = 0
|
||||
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; File Inclusion
|
||||
; include an external file, like module file, etc.
|
||||
|
||||
include-file = ~/.config/polybar/colors.ini
|
||||
include-file = ~/.config/polybar/modules.ini
|
||||
include-file = ~/.config/polybar/user_modules.ini
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; Bar Settings
|
||||
|
||||
[bar/main]
|
||||
; Use either of the following command to list available outputs:
|
||||
; If unspecified, the application will pick the first one it finds.
|
||||
; $ polybar -m | cut -d ':' -f 1
|
||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||
monitor = ${env:MONITOR:}
|
||||
|
||||
; Use the specified monitor as a fallback if the main one is not found.
|
||||
monitor-fallback =
|
||||
|
||||
; Require the monitor to be in connected state
|
||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||
monitor-strict = false
|
||||
|
||||
; Tell the Window Manager not to configure the window.
|
||||
; Use this to detach the bar if your WM is locking its size/position.
|
||||
override-redirect = false
|
||||
|
||||
; Put the bar at the bottom of the screen
|
||||
bottom = false
|
||||
|
||||
; Prefer fixed center position for the `modules-center` block
|
||||
; When false, the center position will be based on the size of the other blocks.
|
||||
fixed-center = true
|
||||
|
||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||
width = 100%
|
||||
height = 40
|
||||
|
||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in an offset in the x or y direction
|
||||
; of 50% minus 10 pixels
|
||||
offset-x = 0
|
||||
offset-y = 0
|
||||
|
||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
background = ${color.alpha}
|
||||
|
||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
foreground = ${color.foreground}
|
||||
|
||||
; Background gradient (vertical steps)
|
||||
; background-[0-9]+ = #aarrggbb
|
||||
;;background-0 =
|
||||
|
||||
; Value used for drawing rounded corners
|
||||
; Note: This shouldn't be used together with border-size because the border
|
||||
; doesn't get rounded
|
||||
; Individual top/bottom values can be defined using:
|
||||
; radius-{top,bottom}
|
||||
radius-top = 0.0
|
||||
radius-bottom = 0.0
|
||||
|
||||
; Under-/overline pixel size and argb color
|
||||
; Individual values can be defined using:
|
||||
; {overline,underline}-size
|
||||
; {overline,underline}-color
|
||||
underline-size = 2
|
||||
underline-color = ${color.foreground}
|
||||
|
||||
; Values applied to all borders
|
||||
; Individual side values can be defined using:
|
||||
; border-{left,top,right,bottom}-size
|
||||
; border-{left,top,right,bottom}-color
|
||||
; The top and bottom borders are added to the bar height, so the effective
|
||||
; window height is:
|
||||
; height + border-top-size + border-bottom-size
|
||||
; Meanwhile the effective window width is defined entirely by the width key and
|
||||
; the border is placed withing this area. So you effectively only have the
|
||||
; following horizontal space on the bar:
|
||||
; width - border-right-size - border-left-size
|
||||
border-size = 0
|
||||
border-color = ${color.background}
|
||||
|
||||
; Number of spaces to add at the beginning/end of the bar
|
||||
; Individual side values can be defined using:
|
||||
; padding-{left,right}
|
||||
padding = 0
|
||||
|
||||
; Number of spaces to add before/after each module
|
||||
; Individual side values can be defined using:
|
||||
; module-margin-{left,right}
|
||||
module-margin-left = 0
|
||||
module-margin-right = 0
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; Fonts are defined using <font-name>;<vertical-offset>
|
||||
; Font names are specified using a fontconfig pattern.
|
||||
; font-0 = NotoSans-Regular:size=8;2
|
||||
; font-1 = MaterialIcons:size=10
|
||||
; font-2 = Termsynu:size=8;-1
|
||||
; font-3 = FontAwesome:size=10
|
||||
; See the Fonts wiki page for more details
|
||||
|
||||
font-0 = "Iosevka Nerd Font:style=Bold:pixelsize=16;4"
|
||||
font-1 = "Iosevka Nerd Font:style=Bold:pixelsize=18;4"
|
||||
font-2 = "Iosevka Nerd Font:style=Bold:pixelsize=18;4"
|
||||
|
||||
; Modules are added to one of the available blocks
|
||||
; modules-left = cpu ram
|
||||
; modules-center = xwindow xbacklight
|
||||
; modules-right = ipc clock
|
||||
|
||||
modules-left = workspaces space mpris
|
||||
modules-center =
|
||||
modules-right = fans dgpu memory sep filesystem sep cpu sep temperature sep pulseaudio sep battery sep network sep date
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; The separator will be inserted between the output of each module
|
||||
separator =
|
||||
|
||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||
dim-value = 1.0
|
||||
|
||||
; Value to be used to set the WM_NAME atom
|
||||
; If the value is empty or undefined, the atom value
|
||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||
; NOTE: The placeholders are not available for custom values
|
||||
wm-name =
|
||||
|
||||
; Locale used to localize various module data (e.g. date)
|
||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||
locale =
|
||||
|
||||
; Position of the system tray window
|
||||
; If empty or undefined, tray support will be disabled
|
||||
; NOTE: A center aligned tray will cover center aligned modules
|
||||
;
|
||||
; Available positions:
|
||||
; left
|
||||
; center
|
||||
; right
|
||||
; none
|
||||
tray-position = none
|
||||
|
||||
; If true, the bar will not shift its
|
||||
; contents when the tray changes
|
||||
tray-detached = false
|
||||
|
||||
; Tray icon max size
|
||||
tray-maxsize = 16
|
||||
|
||||
; Background color for the tray container
|
||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
; By default the tray container will use the bar
|
||||
; background color.
|
||||
tray-background = ${color.background}
|
||||
|
||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
|
||||
; Pad the sides of each tray icon
|
||||
tray-padding = 0
|
||||
|
||||
; Scale factor for tray clients
|
||||
tray-scale = 1.0
|
||||
|
||||
; Restack the bar window and put it above the
|
||||
; selected window manager's root
|
||||
;
|
||||
; Fixes the issue where the bar is being drawn
|
||||
; on top of fullscreen window's
|
||||
;
|
||||
; Currently supported WM's:
|
||||
; bspwm
|
||||
; i3 (requires: `override-redirect = true`)
|
||||
;;wm-restack =
|
||||
|
||||
; Set a DPI values used when rendering text
|
||||
; This only affects scalable fonts
|
||||
; dpi =
|
||||
|
||||
; Enable support for inter-process messaging
|
||||
; See the Messaging wiki page for more details.
|
||||
enable-ipc = true
|
||||
|
||||
; Fallback click handlers that will be called if
|
||||
; there's no matching module handler found.
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
scroll-up =
|
||||
scroll-down =
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
|
||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||
; Possible values are:
|
||||
; - default : The default pointer as before, can also be an empty string (default)
|
||||
; - pointer : Typically in the form of a hand
|
||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||
cursor-click =
|
||||
cursor-scroll =
|
||||
|
||||
;; WM Workspace Specific
|
||||
|
||||
; bspwm
|
||||
;;scroll-up = bspwm-desknext
|
||||
;;scroll-down = bspwm-deskprev
|
||||
;;scroll-up = bspc desktop -f prev.local
|
||||
;;scroll-down = bspc desktop -f next.local
|
||||
|
||||
;i3
|
||||
;;scroll-up = i3wm-wsnext
|
||||
;;scroll-down = i3wm-wsprev
|
||||
;;scroll-up = i3-msg workspace next_on_output
|
||||
;;scroll-down = i3-msg workspace prev_on_output
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; Application Settings
|
||||
|
||||
[settings]
|
||||
; The throttle settings lets the eventloop swallow up til X events
|
||||
; if they happen within Y millisecond after first event was received.
|
||||
; This is done to prevent flood of update event.
|
||||
;
|
||||
; For example if 5 modules emit an update event at the same time, we really
|
||||
; just care about the last one. But if we wait too long for events to swallow
|
||||
; the bar would appear sluggish so we continue if timeout
|
||||
; expires or limit is reached.
|
||||
throttle-output = 5
|
||||
throttle-output-for = 10
|
||||
|
||||
; Time in milliseconds that the input handler will wait between processing events
|
||||
;throttle-input-for = 30
|
||||
|
||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||
screenchange-reload = false
|
||||
|
||||
; Compositing operators
|
||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||
compositing-background = source
|
||||
compositing-foreground = over
|
||||
compositing-overline = over
|
||||
compositing-underline = over
|
||||
compositing-border = over
|
||||
|
||||
; Define fallback values used by all module formats
|
||||
;format-foreground =
|
||||
;format-background =
|
||||
;format-underline =
|
||||
;format-overline =
|
||||
;format-spacing =
|
||||
;format-padding =
|
||||
;format-margin =
|
||||
;format-offset =
|
||||
|
||||
; Enables pseudo-transparency for the bar
|
||||
; If set to true the bar can be transparent without a compositor.
|
||||
pseudo-transparency = false
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
636
dotfiles/config/polybar/modules.ini
Normal file
636
dotfiles/config/polybar/modules.ini
Normal file
@ -0,0 +1,636 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# modules.ini :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/08/28 20:38:49 by tomoron #+# #+# #
|
||||
# Updated: 2024/09/30 16:01:01 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
[module/mpris]
|
||||
type = custom/script
|
||||
exec-if = playerctl metadata
|
||||
exec = playerctl metadata --format '{{ playerName }}:{{ artist }} - {{title}}'
|
||||
interval = 1
|
||||
interval-if = 1
|
||||
|
||||
[module/dgpu]
|
||||
type = custom/script
|
||||
exec-if = test "$(supergfxctl -g)" = "Hybrid"
|
||||
exec = echo " on |"
|
||||
format-padding=1
|
||||
interval-if = 10
|
||||
interval = 100
|
||||
|
||||
[module/fans]
|
||||
type = custom/script
|
||||
exec-if = test "$(cat /sys/class/hwmon/hwmon6/fan1_input)" -gt 0 -o "$(cat /sys/class/hwmon/hwmon6/fan2_input)" -gt 0
|
||||
exec = echo " " "$(cat /sys/class/hwmon/hwmon6/fan1_input).$(cat /sys/class/hwmon/hwmon6/fan2_input) |"
|
||||
interval = 1
|
||||
interval-if = 1
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
; Soundcard to be used
|
||||
; Usually in the format hw:# where # is the card number
|
||||
; You can find the different card numbers in `/proc/asound/cards`
|
||||
master-soundcard = default
|
||||
speaker-soundcard = default
|
||||
headphone-soundcard = default
|
||||
|
||||
; Name of the master, speaker and headphone mixers
|
||||
; Use the following command to list available mixer controls:
|
||||
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
||||
; If master, speaker or headphone-soundcard isn't the default,
|
||||
; use `amixer -c # scontrols` instead where # is the number
|
||||
; of the master, speaker or headphone soundcard respectively
|
||||
;
|
||||
; Default: Master
|
||||
master-mixer = Master
|
||||
|
||||
; Optionally define speaker and headphone mixers
|
||||
; Default: none
|
||||
;;speaker-mixer = Speaker
|
||||
; Default: none
|
||||
;;headphone-mixer = Headphone
|
||||
|
||||
; NOTE: This is required if headphone_mixer is defined
|
||||
; Use the following command to list available device controls
|
||||
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
||||
; You may also need to use `amixer -c # controls` as above for the mixer names
|
||||
; Default: none
|
||||
;;headphone-id = 9
|
||||
|
||||
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
||||
; Default: false
|
||||
;;mapped = true
|
||||
|
||||
; Interval for volume increase/decrease (in percent points)
|
||||
; Default: 5
|
||||
interval = 5
|
||||
|
||||
; Available tags:
|
||||
; <label-volume> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume
|
||||
format-volume = "<ramp-volume> <label-volume>"
|
||||
format-volume-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-muted> (default)
|
||||
; <ramp-volume>
|
||||
; <bar-volume>
|
||||
format-muted = "<label-muted>"
|
||||
format-muted-prefix = " "
|
||||
format-muted-prefix-font = 2
|
||||
format-muted-padding = 1
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-volume = %percentage%%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default
|
||||
label-muted = " M"
|
||||
label-muted-foreground = ${color.foreground}
|
||||
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-volume-0 = ""
|
||||
ramp-volume-1 = ""
|
||||
ramp-volume-2 = " "
|
||||
ramp-volume-font = 2
|
||||
|
||||
; If defined, it will replace <ramp-volume> when
|
||||
; headphones are plugged in to `headphone_control_numid`
|
||||
; If undefined, <ramp-volume> will be used for both
|
||||
; Only applies if <ramp-volume> is used
|
||||
ramp-headphones-0 =
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
|
||||
; This is useful in case the battery never reports 100% charge
|
||||
full-at = 100
|
||||
|
||||
; Use the following command to list batteries and adapters:
|
||||
; $ ls -1 /sys/class/power_supply/
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
|
||||
; 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 = 2
|
||||
|
||||
; see "man date" for details on how to format the time string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
; Default: %H:%M:%S
|
||||
time-format = %H:%M
|
||||
|
||||
; Available tags:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = " <label-charging>"
|
||||
format-charging-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
format-discharging = "<ramp-capacity> <label-discharging>"
|
||||
format-discharging-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
format-full = <label-full>
|
||||
format-full-prefix = " "
|
||||
format-full-prefix-font = 2
|
||||
format-full-padding = 2
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current charge rate in watts)
|
||||
label-charging = %percentage%% %time%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
label-discharging = %percentage%% %time%
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default)
|
||||
label-full = " Full"
|
||||
|
||||
; Only applies if <ramp-capacity> is used
|
||||
ramp-capacity-0 = " "
|
||||
ramp-capacity-1 = " "
|
||||
ramp-capacity-2 = " "
|
||||
ramp-capacity-3 = " "
|
||||
ramp-capacity-4 = " "
|
||||
ramp-capacity-font = 2
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
;bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> is used
|
||||
animation-charging-0 = " "
|
||||
animation-charging-1 = " "
|
||||
animation-charging-2 = " "
|
||||
animation-charging-3 = " "
|
||||
animation-charging-4 = " "
|
||||
animation-charging-font = 2
|
||||
|
||||
; Framerate in milliseconds
|
||||
animation-charging-framerate = 750
|
||||
|
||||
; Only applies if <animation-discharging> is used
|
||||
;;animation-discharging-0 = ${battery.anim0}
|
||||
;;animation-discharging-1 = ${battery.anim1}
|
||||
|
||||
; Framerate in milliseconds
|
||||
;animation-discharging-framerate = 500
|
||||
|
||||
; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <bar-load>
|
||||
; <ramp-load>
|
||||
; <ramp-coreload>
|
||||
;;format = <label> <ramp-coreload>
|
||||
format = <label>
|
||||
format-prefix = " "
|
||||
format-prefix-font = 2
|
||||
format-foreground = ${color.foreground}
|
||||
format-padding = 1
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - total cpu load averaged over all cores
|
||||
; %percentage-sum% - Cumulative load on all cores
|
||||
; %percentage-cores% - load percentage for each core
|
||||
; %percentage-core[1-9]% - load percentage for specific core
|
||||
label = " %percentage%%"
|
||||
|
||||
; Spacing between individual per-core ramps
|
||||
;;ramp-coreload-spacing = 1
|
||||
;;ramp-coreload-0 = ${cpu.load0}
|
||||
;;ramp-coreload-1 = ${cpu.load1}
|
||||
|
||||
;;ramp-load-0 = ${cpu.load0}
|
||||
;;ramp-load-1 = ${cpu.load1}
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
|
||||
; Seconds to sleep between updates
|
||||
interval = 1.0
|
||||
|
||||
; See "http://en.cppreference.com/w/cpp/io/manip/put_time" for details on how to format the date string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
;;date = %Y-%m-%d%
|
||||
|
||||
; Optional time format
|
||||
time = " %H:%M:%S"
|
||||
|
||||
; if `date-alt` or `time-alt` is defined, clicking
|
||||
; the module will toggle between formats
|
||||
;;date-alt = %A, %d %B %Y
|
||||
time-alt = " %a, %d %b %Y"
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
format = <label>
|
||||
format-prefix = " "
|
||||
format-prefix-font = 2
|
||||
format-foreground = ${color.foreground}
|
||||
format-padding = 1
|
||||
|
||||
; Available tokens:
|
||||
; %date%
|
||||
; %time%
|
||||
; Default: %date%
|
||||
label = %time%
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
|
||||
; Mountpoints to display
|
||||
mount-0 = /
|
||||
;;mount-1 = /home
|
||||
;;mount-2 = /var
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 30
|
||||
interval = 30
|
||||
|
||||
; Display fixed precision values
|
||||
; Default: false
|
||||
fixed-values = true
|
||||
|
||||
; Spacing between entries
|
||||
; Default: 2
|
||||
;;spacing = 4
|
||||
|
||||
; Available tags:
|
||||
; <label-mounted> (default)
|
||||
; <bar-free>
|
||||
; <bar-used>
|
||||
; <ramp-capacity>
|
||||
format-mounted = <label-mounted>
|
||||
format-mounted-prefix =
|
||||
format-mounted-prefix-font = 2
|
||||
format-mounted-padding = 2
|
||||
|
||||
; Available tokens:
|
||||
; %mountpoint%
|
||||
; %type%
|
||||
; %fsname%
|
||||
; %percentage_free%
|
||||
; %percentage_used%
|
||||
; %total%
|
||||
; %free%
|
||||
; %used%
|
||||
; Default: %mountpoint% %percentage_free%%
|
||||
label-mounted = " %percentage_used%%"
|
||||
|
||||
; Available tokens:
|
||||
; %mountpoint%
|
||||
; Default: %mountpoint% is not mounted
|
||||
label-unmounted = " %mountpoint%: not mounted"
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <bar-used>
|
||||
; <bar-free>
|
||||
; <ramp-used>
|
||||
; <ramp-free>
|
||||
; <bar-swap-used>
|
||||
; <bar-swap-free>
|
||||
; <ramp-swap-used>
|
||||
; <ramp-swap-free>
|
||||
format = <label>
|
||||
format-prefix =
|
||||
format-prefix-font = 2
|
||||
format-padding = 1
|
||||
|
||||
; Available tokens:
|
||||
; %percentage_used% (default)
|
||||
; %percentage_free%
|
||||
; %gb_used%
|
||||
; %gb_free%
|
||||
; %gb_total%
|
||||
; %mb_used%
|
||||
; %mb_free%
|
||||
; %mb_total%
|
||||
; %percentage_swap_used%
|
||||
; %percentage_swap_free%
|
||||
; %mb_swap_total%
|
||||
; %mb_swap_free%
|
||||
; %mb_swap_used%
|
||||
; %gb_swap_total%
|
||||
; %gb_swap_free%
|
||||
; %gb_swap_used%
|
||||
|
||||
label = " %percentage_used%%"
|
||||
|
||||
; Only applies if <ramp-used> is used
|
||||
;;ramp-used-0 = ${memory.used0}
|
||||
;;ramp-used-1 = ${memory.used1}
|
||||
;;ramp-used-2 = ${memory.used2}
|
||||
|
||||
; Only applies if <ramp-free> is used
|
||||
;;ramp-free-0 = ${memory.free0}
|
||||
;;ramp-free-1 = ${memory.free1}
|
||||
;;ramp-free-2 = ${memory.free2}
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; If you use both a wired and a wireless network, just add 2 module definitions. For example
|
||||
[module/network]
|
||||
type = internal/network
|
||||
interface = wlan0
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1.0
|
||||
|
||||
; Test connectivity every Nth update
|
||||
; A value of 0 disables the feature
|
||||
; NOTE: Experimental (needs more testing)
|
||||
; Default: 0
|
||||
;ping-interval = 3
|
||||
|
||||
; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
|
||||
; Minimum output width of upload/download rate
|
||||
; Default: 3
|
||||
;;udspeed-minwidth = 5
|
||||
|
||||
; Accumulate values from all interfaces
|
||||
; when querying for up/downspeed rate
|
||||
; Default: false
|
||||
accumulate-stats = true
|
||||
|
||||
; Consider an `UNKNOWN` interface state as up.
|
||||
; Some devices have an unknown state, even when they're running
|
||||
; Default: false
|
||||
unknown-as-up = true
|
||||
|
||||
; Available tags:
|
||||
; <label-connected> (default)
|
||||
; <ramp-signal>
|
||||
format-connected = "<ramp-signal><label-connected>"
|
||||
format-connected-prefix = ""
|
||||
format-connected-prefix-font = 2
|
||||
format-connected-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-disconnected> (default)
|
||||
format-disconnected = <label-disconnected>
|
||||
format-disconnected-prefix = " "
|
||||
format-disconnected-prefix-font = 2
|
||||
format-disconnected-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-connected> (default)
|
||||
; <label-packetloss>
|
||||
; <animation-packetloss>
|
||||
;;format-packetloss = <animation-packetloss> <label-connected>
|
||||
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; %local_ip% [wireless+wired]
|
||||
; %local_ip6% [wireless+wired]
|
||||
; %essid% [wireless]
|
||||
; %signal% [wireless]
|
||||
; %upspeed% [wireless+wired]
|
||||
; %downspeed% [wireless+wired]
|
||||
; %linkspeed% [wired]
|
||||
; Default: %ifname% %local_ip%
|
||||
label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}"
|
||||
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; Default: (none)
|
||||
label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}"
|
||||
;;label-disconnected-foreground = #66ffffff
|
||||
|
||||
; Available tokens:
|
||||
; %ifname% [wireless+wired]
|
||||
; %local_ip% [wireless+wired]
|
||||
; %local_ip6% [wireless+wired]
|
||||
; %essid% [wireless]
|
||||
; %signal% [wireless]
|
||||
; %upspeed% [wireless+wired]
|
||||
; %downspeed% [wireless+wired]
|
||||
; %linkspeed% [wired]
|
||||
; Default: (none)
|
||||
;label-packetloss = %essid%
|
||||
;label-packetloss-foreground = #eefafafa
|
||||
|
||||
; Only applies if <ramp-signal> is used
|
||||
ramp-signal-0 = " "
|
||||
ramp-signal-1 = " "
|
||||
ramp-signal-2 = " "
|
||||
|
||||
; Only applies if <animation-packetloss> is used
|
||||
;;animation-packetloss-0 = ⚠
|
||||
;;animation-packetloss-0-foreground = #ffa64c
|
||||
;;animation-packetloss-1 = ⚠
|
||||
;;animation-packetloss-1-foreground = #000000
|
||||
; Framerate in milliseconds
|
||||
;;animation-packetloss-framerate = 500
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 1
|
||||
|
||||
; Thermal zone to use
|
||||
; To list all the zone types, run
|
||||
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
|
||||
; Default: 0
|
||||
thermal-zone = 0
|
||||
|
||||
; Full path of temperature sysfs path
|
||||
; Use `sensors` to find preferred temperature source, then run
|
||||
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
|
||||
; to find path to desired file
|
||||
; Default reverts to thermal zone setting
|
||||
;;hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||
hwmon-path = /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input
|
||||
|
||||
; Threshold temperature to display warning label (in degrees celsius)
|
||||
; Default: 80
|
||||
warn-temperature = 80
|
||||
|
||||
; Whether or not to show units next to the temperature tokens (°C, °F)
|
||||
; Default: true
|
||||
units = true
|
||||
|
||||
; Available tags:
|
||||
; <label> (default)
|
||||
; <ramp>
|
||||
format = "<ramp> <label>"
|
||||
format-padding = 1
|
||||
|
||||
; Available tags:
|
||||
; <label-warn> (default)
|
||||
; <ramp>
|
||||
format-warn = "<ramp> <label-warn>"
|
||||
format-warn-foreground = #FF0000
|
||||
format-warn-padding = 1
|
||||
|
||||
; Available tokens:
|
||||
; %temperature% (deprecated)
|
||||
; %temperature-c% (default, temperature in °C)
|
||||
; %temperature-f% (temperature in °F)
|
||||
label = %temperature-c%
|
||||
|
||||
; Available tokens:
|
||||
; %temperature% (deprecated)
|
||||
; %temperature-c% (default, temperature in °C)
|
||||
; %temperature-f% (temperature in °F)
|
||||
label-warn = "%temperature-c%"
|
||||
|
||||
; Requires the <ramp> tag
|
||||
; The icon selection will range from 0 to `warn-temperature`
|
||||
; with the current temperature as index.
|
||||
ramp-0 = ""
|
||||
ramp-1 = ""
|
||||
ramp-2 = ""
|
||||
ramp-3 = ""
|
||||
ramp-4 = ""
|
||||
ramp-font = 2
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[module/workspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
; 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
|
||||
|
||||
; Create click handler used to focus desktop
|
||||
; Default: true
|
||||
enable-click = true
|
||||
|
||||
; Create scroll handlers used to cycle desktops
|
||||
; Default: true
|
||||
enable-scroll = false
|
||||
|
||||
; icon-[0-9]+ = <desktop-name>;<icon>
|
||||
; NOTE: The desktop name needs to match the name configured by the WM
|
||||
; You can get a list of the defined desktops using:
|
||||
; $ xprop -root _NET_DESKTOP_NAMES
|
||||
icon-0 = 1;1
|
||||
icon-1 = 2;2
|
||||
icon-2 = 3;3
|
||||
icon-3 = 4;4
|
||||
icon-4 = 5;5
|
||||
icon-5 = A;A
|
||||
icon-6 = B;B
|
||||
icon-default = 0
|
||||
|
||||
|
||||
; Available tags:
|
||||
; <label-monitor>
|
||||
; <label-state> - gets replaced with <label-(active|urgent|occupied|empty)>
|
||||
; Default: <label-state>
|
||||
format = <label-state>
|
||||
format-font = 3
|
||||
format-background = #0000FF
|
||||
format-foreground = #FF0000
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; Default: %name%
|
||||
label-monitor = %name%
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-active = %icon%
|
||||
label-active-background = #44ffffff
|
||||
label-active-foreground = #00FF00
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-occupied = %icon%
|
||||
label-occupied-background = #00FFFFFF
|
||||
label-occupied-foreground = #00FF00
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-urgent = %icon%
|
||||
label-urgent-background = ${color.background}
|
||||
label-urgent-foreground = #CC6666
|
||||
|
||||
; Available tokens:
|
||||
; %name%
|
||||
; %icon%
|
||||
; %index%
|
||||
; Default: %icon% %name%
|
||||
label-empty = %icon%
|
||||
label-empty-background = #0000FFFF
|
||||
label-empty-foreground = #FFFFFF
|
||||
|
||||
label-active-padding = 1.85
|
||||
label-urgent-padding = 1.85
|
||||
label-occupied-padding = 1.85
|
||||
label-empty-padding = 1.85
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
3
dotfiles/config/polybar/scripts/launcher.sh
Executable file
3
dotfiles/config/polybar/scripts/launcher.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
PATH = "/var/lib/flatpak/exports/bin:$PATH"
|
||||
rofi -show drun -show-icons
|
3
dotfiles/config/polybar/scripts/launcher_bin.sh
Executable file
3
dotfiles/config/polybar/scripts/launcher_bin.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
rofi -show-icons -show run
|
23
dotfiles/config/polybar/user_modules.ini
Normal file
23
dotfiles/config/polybar/user_modules.ini
Normal file
@ -0,0 +1,23 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# user_modules.ini :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/08/28 20:38:24 by tomoron #+# #+# #
|
||||
# Updated: 2024/09/03 14:40:12 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
[module/sep]
|
||||
type = custom/text
|
||||
content = "|"
|
||||
|
||||
content-foreground = #FFFFFF
|
||||
|
||||
[module/space]
|
||||
type = custom/text
|
||||
content = " "
|
||||
content-padding=1
|
||||
|
165
dotfiles/config/sxhkd/sxhkdrc
Executable file
165
dotfiles/config/sxhkd/sxhkdrc
Executable file
@ -0,0 +1,165 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
alacritty
|
||||
|
||||
# program launcher
|
||||
super + d
|
||||
/home/tom/.config/polybar/scripts/launcher.sh
|
||||
|
||||
super + shift + d
|
||||
/home/tom/.config/polybar/scripts/launcher_bin.sh
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + alt + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
control + alt + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
super + y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest window
|
||||
super + g
|
||||
bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous window in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
#Volume control
|
||||
|
||||
XF86AudioLowerVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
|
||||
XF86AudioRaiseVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
|
||||
XF86AudioMute
|
||||
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
XF86MonBrightnessUp
|
||||
brightness up
|
||||
|
||||
XF86MonBrightnessDown
|
||||
brightness down
|
||||
|
||||
XF86KbdBrightnessUp
|
||||
kbd_brightness up
|
||||
|
||||
XF86KbdBrightnessDown
|
||||
kbd_brightness down
|
||||
|
||||
|
||||
#music control
|
||||
|
||||
super + shift + o
|
||||
playerctl play-pause
|
||||
|
||||
super + shift + p
|
||||
playerctl previous
|
||||
|
||||
super + shift + n
|
||||
playerctl next
|
||||
|
||||
super + shift + alt + b
|
||||
polybar-msg cmd hide
|
||||
|
||||
super + shift + b
|
||||
polybar-msg cmd show
|
21
dotfiles/local/bin/brightness
Executable file
21
dotfiles/local/bin/brightness
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
FILE=/sys/class/backlight/amdgpu_bl1/brightness
|
||||
if ! ( test -w "$FILE" ); then
|
||||
xterm +cm -cr RED -bg BLACK -selbg WHITE -selfg BLACK -fg WHITE -fa Monospace -fs 14 -e "sudo chmod 777 $FILE"
|
||||
fi
|
||||
new=$(cat $FILE)
|
||||
|
||||
|
||||
if [ "$1" = "up" ]; then
|
||||
new=$((new + 13))
|
||||
elif [ "$1" = "down" ];then
|
||||
new=$((new - 13))
|
||||
fi
|
||||
|
||||
if [ $new -gt 255 ]; then
|
||||
new=255
|
||||
elif [ $new -lt 0 ]; then
|
||||
new=0
|
||||
fi
|
||||
|
||||
echo $new > $FILE
|
3
dotfiles/local/bin/desk_sync
Executable file
3
dotfiles/local/bin/desk_sync
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
unison /home/tom/Desktop ssh://tom@tmoron.fr:1880//home/tom/Desktop_sync/Desktop $@
|
||||
|
2
dotfiles/local/bin/hibernate
Executable file
2
dotfiles/local/bin/hibernate
Executable file
@ -0,0 +1,2 @@
|
||||
xtrlock&
|
||||
systemctl hibernate
|
6
dotfiles/local/bin/kbd_brightness
Executable file
6
dotfiles/local/bin/kbd_brightness
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
if [ "$1" = "up" ]; then
|
||||
asusctl -n
|
||||
elif [ "$1" = "down" ];then
|
||||
asusctl -p
|
||||
fi
|
4
dotfiles/local/bin/scan
Executable file
4
dotfiles/local/bin/scan
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
until sudo iwctl station wlan0 show | grep iPhone > /dev/null;do
|
||||
sudo iwctl station wlan0 scan 2>&1 > /dev/null
|
||||
done
|
2863
dotfiles/local/share/nvim/site/autoload/plug.vim
Normal file
2863
dotfiles/local/share/nvim/site/autoload/plug.vim
Normal file
File diff suppressed because it is too large
Load Diff
20
dotfiles/vimrc
Normal file
20
dotfiles/vimrc
Normal file
@ -0,0 +1,20 @@
|
||||
let g:python_recommended_style = 0
|
||||
set number
|
||||
set ai
|
||||
autocmd BufWinLeave *.* mkview
|
||||
autocmd BufWinEnter *.* silent! loadview
|
||||
set noexpandtab
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set scrolloff=10
|
||||
set preserveindent
|
||||
map <silent> <C-N> :bnext<CR>
|
||||
map <silent> <C-P> :bprevious<CR>
|
||||
nmap <silent> <c-k> :wincmd k<CR>
|
||||
nmap <silent> <c-j> :wincmd j<CR>
|
||||
nmap <silent> <c-h> :wincmd h<CR>
|
||||
nmap <silent> <c-l> :wincmd l<CR>
|
||||
set hidden
|
||||
set path +=**
|
||||
set wildmenu
|
||||
set wildignore+=**/node_modules/**
|
1
dotfiles/xinitrc
Executable file
1
dotfiles/xinitrc
Executable file
@ -0,0 +1 @@
|
||||
exec bspwm
|
48
flake.lock
generated
Normal file
48
flake.lock
generated
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728306985,
|
||||
"narHash": "sha256-l/KpcWTv2SjxCnqFs5GYhvjeVYd40WQV4/F2+w9btd4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3ac39b2a8b7cbfc0f96628d8a84867c885bc988b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
79
flake.nix
Normal file
79
flake.nix
Normal file
@ -0,0 +1,79 @@
|
||||
{
|
||||
description = "Nixos and home-manager config flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
||||
username="tom";
|
||||
homeDir="/home/tom";
|
||||
in {
|
||||
#NIXOS CONFIG
|
||||
nixosConfigurations = {
|
||||
default = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./hardware-configuration.nix
|
||||
./configuration.nix
|
||||
];
|
||||
};
|
||||
vbox = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./hardware-configuration.nix
|
||||
./configuration.nix
|
||||
./hosts/vbox/configuration.nix
|
||||
];
|
||||
};
|
||||
laptop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./hardware-configuration.nix
|
||||
./configuration.nix
|
||||
./hosts/laptop/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
#HOME CONFIG
|
||||
homeConfigurations = {
|
||||
${username} = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
username = "${username}";
|
||||
homeDir = "${homeDir}";
|
||||
};
|
||||
modules = [ ./home.nix ];
|
||||
};
|
||||
vbox = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
username = "${username}";
|
||||
homeDir = "${homeDir}";
|
||||
};
|
||||
modules = [
|
||||
./home.nix
|
||||
./homes/vbox.nix
|
||||
];
|
||||
};
|
||||
ft = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
username = "tomoron";
|
||||
homeDir = "/nfs/homes/tomoron";
|
||||
};
|
||||
modules = [
|
||||
./home.nix
|
||||
./homes/ft/ft.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
83
home.nix
Normal file
83
home.nix
Normal file
@ -0,0 +1,83 @@
|
||||
{ config, lib, pkgs, username,homeDir, ... }:
|
||||
|
||||
{
|
||||
home.username = "${username}";
|
||||
home.homeDirectory = "${homeDir}";
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs;[
|
||||
polybar
|
||||
sxhkd
|
||||
alacritty
|
||||
nitrogen
|
||||
nerdfonts
|
||||
rofi
|
||||
firefox
|
||||
neovim
|
||||
activate-linux
|
||||
bspwm
|
||||
dunst
|
||||
];
|
||||
|
||||
home.file = {
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
".config/bspwm/bspwmrc".source = lib.mkDefault dotfiles/config/bspwm/bspwmrc;
|
||||
".config/sxhkd".source = lib.mkDefault dotfiles/config/sxhkd;
|
||||
".config/polybar".source = dotfiles/config/polybar;
|
||||
".config/nitrogen".source = lib.mkDefault dotfiles/config/nitrogen;
|
||||
".config/alacritty".source = dotfiles/config/alacritty;
|
||||
".config/nvim/init.vim".source = dotfiles/config/nvim/init.vim;
|
||||
".config/nvim/plugin/stdheader.vim".source = dotfiles/config/nvim/plugin/stdheader.vim;
|
||||
".local/share/nvim/site/autoload/plug.vim".source = dotfiles/local/share/nvim/site/autoload/plug.vim;
|
||||
".xinitrc".source = dotfiles/xinitrc;
|
||||
".vimrc".source = dotfiles/vimrc;
|
||||
".bashrc".source = dotfiles/bashrc;
|
||||
|
||||
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "tomoron@student.42angouleme.fr";
|
||||
userName = "tomoron";
|
||||
extraConfig.init.defaultBranch="master";
|
||||
aliases = {
|
||||
fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f";
|
||||
back = "reset HEAD~";
|
||||
};
|
||||
};
|
||||
|
||||
services.picom = {
|
||||
enable = true;
|
||||
backend = lib.mkDefault "glx";
|
||||
vSync = true;
|
||||
settings = {
|
||||
blur = {
|
||||
method = lib.mkDefault "gaussian";
|
||||
size = lib.mkDefault 20;
|
||||
deviation = lib.mkDefault 5.0;
|
||||
};
|
||||
corner-radius=20;
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'"
|
||||
"class_g = 'Dunst'"
|
||||
];
|
||||
blur-background-exclude = [
|
||||
"class_g = 'activate-linux'"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
25
homes/ft/dotfiles/config/bspwm/bspwmrc
Executable file
25
homes/ft/dotfiles/config/bspwm/bspwmrc
Executable file
@ -0,0 +1,25 @@
|
||||
#! /bin/sh
|
||||
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
bspc monitor -d 1 2 3 4 5
|
||||
bspc desktop 1 -f
|
||||
pgrep -x polybar || polybar -q main -c "$HOME/.config/polybar/config-small.ini"&
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 10
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config focus_follows_pointer true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
pgrep -x alacritty > /dev/null || alacritty &
|
||||
|
||||
#autostart appps
|
||||
picom --experimental-backends &
|
||||
nitrogen --restore &
|
||||
dunst &
|
||||
numlockx on &
|
||||
setxkbmap fr us&
|
||||
killall activate-linux
|
||||
(sleep 1;activate-linux -c 1-1-1-0.7 -V 50 -H 70 -d)&
|
BIN
homes/ft/dotfiles/config/nitrogen/607699.png
Normal file
BIN
homes/ft/dotfiles/config/nitrogen/607699.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
4
homes/ft/dotfiles/config/nitrogen/bg-saved.cfg
Normal file
4
homes/ft/dotfiles/config/nitrogen/bg-saved.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
[xin_-1]
|
||||
file=/nfs/homes/tomoron/.config/nitrogen/thumb-1920-814854.png
|
||||
mode=0
|
||||
bgcolor=#000000
|
12
homes/ft/dotfiles/config/nitrogen/nitrogen.cfg
Normal file
12
homes/ft/dotfiles/config/nitrogen/nitrogen.cfg
Normal file
@ -0,0 +1,12 @@
|
||||
[geometry]
|
||||
posx=-1
|
||||
posy=-1
|
||||
sizex=450
|
||||
sizey=500
|
||||
|
||||
[nitrogen]
|
||||
view=icon
|
||||
recurse=true
|
||||
sort=alpha
|
||||
icon_caps=false
|
||||
dirs=/nfs/homes/tomoron/.config/nitrogen;
|
BIN
homes/ft/dotfiles/config/nitrogen/thumb-1920-814854.png
Normal file
BIN
homes/ft/dotfiles/config/nitrogen/thumb-1920-814854.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
165
homes/ft/dotfiles/config/sxhkd/sxhkdrc
Executable file
165
homes/ft/dotfiles/config/sxhkd/sxhkdrc
Executable file
@ -0,0 +1,165 @@
|
||||
#
|
||||
# wm independent hotkeys
|
||||
#
|
||||
|
||||
# terminal emulator
|
||||
super + Return
|
||||
alacritty
|
||||
|
||||
# program launcher
|
||||
super + d
|
||||
dmenu_run
|
||||
|
||||
super + shift + d
|
||||
dmenu_run
|
||||
|
||||
# make sxhkd reload its configuration files:
|
||||
super + Escape
|
||||
pkill -USR1 -x sxhkd
|
||||
|
||||
#
|
||||
# bspwm hotkeys
|
||||
#
|
||||
|
||||
# quit/restart bspwm
|
||||
super + alt + {q,r}
|
||||
bspc {quit,wm -r}
|
||||
|
||||
# close and kill
|
||||
control + alt + {_,shift + }q
|
||||
bspc node -{c,k}
|
||||
|
||||
# alternate between the tiled and monocle layout
|
||||
super + m
|
||||
bspc desktop -l next
|
||||
|
||||
# send the newest marked node to the newest preselected node
|
||||
super + y
|
||||
bspc node newest.marked.local -n newest.!automatic.local
|
||||
|
||||
# swap the current node and the biggest window
|
||||
super + g
|
||||
bspc node -s biggest.window
|
||||
|
||||
#
|
||||
# state/flags
|
||||
#
|
||||
|
||||
# set the window state
|
||||
super + {t,shift + t,s,f}
|
||||
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
|
||||
|
||||
# set the node flags
|
||||
super + ctrl + {m,x,y,z}
|
||||
bspc node -g {marked,locked,sticky,private}
|
||||
|
||||
#
|
||||
# focus/swap
|
||||
#
|
||||
|
||||
# focus the node in the given direction
|
||||
super + {_,shift + }{h,j,k,l}
|
||||
bspc node -{f,s} {west,south,north,east}
|
||||
|
||||
# focus the node for the given path jump
|
||||
super + {p,b,comma,period}
|
||||
bspc node -f @{parent,brother,first,second}
|
||||
|
||||
# focus the next/previous window in the current desktop
|
||||
super + {_,shift + }c
|
||||
bspc node -f {next,prev}.local.!hidden.window
|
||||
|
||||
# focus the next/previous desktop in the current monitor
|
||||
super + bracket{left,right}
|
||||
bspc desktop -f {prev,next}.local
|
||||
|
||||
# focus the last node/desktop
|
||||
super + {grave,Tab}
|
||||
bspc {node,desktop} -f last
|
||||
|
||||
# focus the older or newer node in the focus history
|
||||
super + {o,i}
|
||||
bspc wm -h off; \
|
||||
bspc node {older,newer} -f; \
|
||||
bspc wm -h on
|
||||
|
||||
# focus or send to the given desktop
|
||||
super + {_,shift + }{1-9,0}
|
||||
bspc {desktop -f,node -d} '^{1-9,10}'
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
|
||||
# preselect the direction
|
||||
super + ctrl + {h,j,k,l}
|
||||
bspc node -p {west,south,north,east}
|
||||
|
||||
# preselect the ratio
|
||||
super + ctrl + {1-9}
|
||||
bspc node -o 0.{1-9}
|
||||
|
||||
# cancel the preselection for the focused node
|
||||
super + ctrl + space
|
||||
bspc node -p cancel
|
||||
|
||||
# cancel the preselection for the focused desktop
|
||||
super + ctrl + shift + space
|
||||
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
# expand a window by moving one of its side outward
|
||||
super + alt + {h,j,k,l}
|
||||
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
|
||||
|
||||
# contract a window by moving one of its side inward
|
||||
super + alt + shift + {h,j,k,l}
|
||||
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
|
||||
|
||||
# move a floating window
|
||||
super + {Left,Down,Up,Right}
|
||||
bspc node -v {-20 0,0 20,0 -20,20 0}
|
||||
|
||||
#Volume control
|
||||
|
||||
XF86AudioLowerVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
|
||||
XF86AudioRaiseVolume
|
||||
pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
|
||||
XF86AudioMute
|
||||
pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
|
||||
XF86MonBrightnessUp
|
||||
brightness up
|
||||
|
||||
XF86MonBrightnessDown
|
||||
brightness down
|
||||
|
||||
XF86KbdBrightnessUp
|
||||
kbd_brightness up
|
||||
|
||||
XF86KbdBrightnessDown
|
||||
kbd_brightness down
|
||||
|
||||
|
||||
#music control
|
||||
|
||||
super + shift + o
|
||||
playerctl play-pause
|
||||
|
||||
super + shift + p
|
||||
playerctl previous
|
||||
|
||||
super + shift + n
|
||||
playerctl next
|
||||
|
||||
super + shift + alt + b
|
||||
polybar-msg cmd hide
|
||||
|
||||
super + shift + b
|
||||
polybar-msg cmd show
|
14
homes/ft/ft.nix
Normal file
14
homes/ft/ft.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ config, lib, pkgs, username,homeDir, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
neovim
|
||||
dmenu
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".config/sxhkd".source = dotfiles/config/sxhkd;
|
||||
".config/nitrogen".source = dotfiles/config/nitrogen;
|
||||
".config/bspwm/bspwmrc".source = dotfiles/config/bspwm/bspwmrc;
|
||||
};
|
||||
}
|
14
homes/vbox.nix
Normal file
14
homes/vbox.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.picom = {
|
||||
backend = "xrender";
|
||||
settings = {
|
||||
blur = {
|
||||
method = "none";
|
||||
size = 0;
|
||||
deviation = 0.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
12
hosts/laptop/configuration.nix
Normal file
12
hosts/laptop/configuration.nix
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
networking.hostName = "patate-douce";
|
||||
networking.wireless.enable = true;
|
||||
networking.networkmanager.enable = false;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpi
|
||||
]
|
||||
}
|
6
hosts/vbox/configuration.nix
Normal file
6
hosts/vbox/configuration.nix
Normal file
@ -0,0 +1,6 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
virtualisation.virtualbox.guest.enable = true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user