Skip to content

BarbUk/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

About

This repository contains files for configuring my Terminal environment and other various linux settings. See Github does dotfiles for more info

What does it look like

Screenshot light shell Screenshot dark shell

Is there a cool thing that I can use ?

While my dotfiles are optimised for my workflow, you can maybe find something interesting in it.

Snippy

Snippy is enhanced version of the snippy snippet utility. I use it everyday with more than 600 snippets.

snippy

Here some enhancements that I made:

  • keep current clipboard after pasting the snippet
  • {clipboard} placeholder to use current clipboard in snippet
CREATE DATABASE \`{clipboard}\` CHARACTER SET utf8 COLLATE utf8_general_ci;
  • {cursor} placeholder to place the cursor
    • go left to the correct position for cli and gui paste
    <pre>{cursor}</pre>
    
    • go up for block snippet for gui paste
    <pre>
      {cursor}
    </pre>
    
  • ##noparse header in snippet to not parse
  • directly execute command begining by $
  • execute bash script in $snippets_directory/scripts
  • copy script content when selection is selected by CTRL+Return, exemple:
    • with the following snippet: $(date +%Y-%m-%d-%Hh%Mm%S)
    • using Return will paste the current date
    • using CTRL+Return will paste the command directly
  • icons ! Icon name is set from first dir name. If you have the following snippets, the terminal icon will be displayed in rofi:
    terminal/
    ├── other
    │   └── date
    └── script
        └── test

Mprisctl

Mprisctl is wrapper around playerctl. By default, it shows the status, artist and track title of the last detected player.

  • default: shows the status, artist and track title of the last detected player
$ mprisctl 
Playing
ARTE Concert
Kompromat @ La Cigale (Full Show HiRes) – ARTE Concert
  • Support action from playerctl and apply them to the current playing player or the last active player:
    • play
    • pause
    • play-pause
    • stop
    • next
    • previous

Chrome history

Chrome history is a basic shell script that output your chrome browser history. It's made to work with rofi.

You can use it in rofi to open a link Exemple:

rofi -combi-modi "chrome:chrome_history,window,drun" -show combi -modi combi -lines 25  -display-combi '> '

Change theme

I need a light theme to work during the day with the sun light, and a dark theme to geek at night. So I made a quick script to handle the switch: change_theme.

A perfect fit for the ThinkVantage button.

Detect screen

Detect_screen, a script to automate screen configuration when you plug a new screen.

Give me hostname

When you need a list of your server to ssh to: Give me hostname. Combine it with fzf to autocomplete the ssh/scp/rsync commands.

Light bar

light_bar

Light bar is a minimal script to change screen brightness and display a simple bar. Good to include in awesomewm or any other wm.

Volume bar

vol_bar

Volume bar is a minimal script to change volume and display a simple bar. Good to include in awesomewm or any other wm.

Ssh connect

Ssh connect is a script that:

  • check if the server exists
  • autocomplete from my server list
  • sync my server dotfiles
  • connect to my tmux session or create a new one

Open sftp

Open sftp is a script that:

  • get the active window
  • check if it's a terminal
  • grab the title (user@server:path)
  • open your filemanager to that remote server (sftp://user@server/path)

Installation

Warning: If you want to give these dotfiles a try, you should first fork this repository, review the code, and remove things you don’t want or need. Don’t blindly use my settings unless you know what that entails. Use at your own risk!

Using Git

Clone the repository in ~/.dotfiles:

git clone https://github.com/barbuk/dotfiles ~/.dotfiles && ~/.dotfiles

init the submodules:

git submodule update --init

You can use source bashrc or use install.sh to symlink the files.