Remove laptop-specific code

Signed-off-by: Emmy D'Anello <ynerant@crans.org>
This commit is contained in:
Emmy D'Anello 2023-01-12 12:50:19 +01:00
parent 7f4f846408
commit 414950f4b5
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
48 changed files with 7 additions and 1627 deletions

View File

@ -5,7 +5,7 @@ ansible_header: |
+++++++++++++++++++++++++++++++++++++++++++++++++++
Ansible managed, don't modify the file locally.
See https://gitlab.crans.org/ynerant/templier-ansible.
See https://git.yneran.fr/ynerant/templier-ansible.
{% if template_fullpath is defined %}{% set _, rpath = template_fullpath.split('roles/', 1) %}Commit: {% if dirty %}({{dirty}}) {% endif %}{{ lookup('pipe', 'git log -n 1 --pretty=format:%H -- ' + template_fullpath | quote) }}
{% if dirty %}Run by: {{ ansible_env.SUDO_USER }}
{% else %}Author: {{ lookup('pipe', 'git log -n 1 --pretty=format:%an -- ' + template_fullpath | quote) }}
@ -23,18 +23,6 @@ glob_ldap:
base: 'dc=ynerant,dc=fr'
pass:
upstream: 'ssh://git@git.ynerant.fr:2222/ynerant/pass.git'
dest: '.password-store/'
cliutils:
bash:
bogus_dirs: []
git:
email: ynerant@crans.org
name: Yohann D'ANELLO
signingkey: 3A75C55819C8CF85
bind:
domains:
- name: ynerant.fr

View File

@ -1,4 +0,0 @@
---
user:
name: ynerant
root: yes

View File

@ -1 +0,0 @@
ynerant-thinkpad.wifi.sand.auro.re.yml

View File

@ -1,9 +0,0 @@
---
user:
name: ynerant
root: yes
laptop:
numpad: true
resolution: 1440p
gpu: true

View File

@ -1,10 +0,0 @@
---
user:
name: ynerant
root: yes
laptop:
numpad: false
resolution: 1080p
touchscreen: true
gpu: false

8
hosts
View File

@ -1,6 +1,3 @@
[archlinux:children]
perso
[blackbox]
monitoring.adm.ynerant.fr
@ -24,11 +21,6 @@ reverseproxy
[ntp_server]
routeur-templier.adm.ynerant.fr
[perso]
ynerant-pc.fil.sand.auro.re
ynerant-thinkpad.wifi.sand.auro.re
localhost
[postfix]
mailu.adm.ynerant.fr

View File

@ -14,34 +14,10 @@
roles:
- sudo
- qemu-guest-agent
- hosts: all
roles:
- cli-utils
- vim
- ssh
#- hosts: templier.adh.crans.org
# roles:
# - bind
# - docker
# become: yes
- hosts: perso
roles:
# - sudo
- systemd
- pacman
- ntp-client-arch
- texlive
- xorg
- i3
- terminal
- notification
- mime
- audio
- multimedia
- pass
- communication
- browser
# - scripts

View File

@ -1,11 +0,0 @@
---
- name: Queries package manager for audio installation
package:
name:
- alsa-utils
- pulseaudio
- pulsemixer
register: pkg_result
retries: 3
until: pkg_result is succeeded

View File

@ -1,9 +0,0 @@
---
- name: Queries package manager for browser installation
package:
name:
- firefox
- firefox-i18n-fr
register: pkg_result
retries: 3
until: pkg_result is succeeded

View File

@ -1,20 +1,21 @@
---
- name: Install cli utilities
- name: Install useful utilities
package:
name:
- bash
- bash-completion
- bat
- curl
- "{% if ansible_os_family == 'Debian' %}dnsutils{% else %}bind-tools{% endif %}"
- dnsutils
- git
- htop
- man
- molly-guard
- mtr-tiny
- needrestart
- "mtr{% if ansible_os_family == 'Debian' %}-tiny{% endif %}"
- sl
- htop
- patch
- rsync
- sl
- sudo
- tmux
- traceroute
@ -24,30 +25,3 @@
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create directory hierarchy
file:
path: '.config/{{ item }}'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
with_items:
- 'git/'
- 'bash/'
become_user: "{{ user.name }}"
- name: Deploying config files
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
with_items:
- { src: bashrc.j2, dest: .bashrc }
- { src: inputrc.j2, dest: .inputrc }
- { src: bash_aliases.j2, dest: .config/bash/bash_aliases }
- { src: gitconfig.j2, dest: .config/git/config }
- { src: tmux.conf.j2, dest: .tmux.conf }
become_user: '{{ user.name }}'

View File

@ -1,56 +0,0 @@
#!/bin/bash
{{ ansible_header | comment }}
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias grep='grep --color=always'
alias fgrep='fgrep --color=always'
alias egrep='egrep --color=always'
fi
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias cd='cd -P'
alias ip='ip -c'
alias less='less -R'
{% if ansible_os_family == "Archlinux" -%}
alias startx='exec startx'
{% endif %}
alias gst='git status -s'
alias proxy='ssh -q -C -N -D 8080'
alias wip='watch -c ip -c'
# Shortcuts to open ports
alias ldap_tealc="ssh -L 1636:tealc.adm.crans.org:636 tealc.adm.crans.org"
alias sam="ssh -L 8006:sam.adm.crans.org:8006 sam.adm.crans.org"
alias jack="ssh -L 8006:jack.adm.crans.org:8006 jack.adm.crans.org"
alias daniel="ssh -L 8006:daniel.adm.crans.org:8006 daniel.adm.crans.org"
alias vi=vim
{% if ansible_os_family == "Debian" -%}
alias bat=batcat
{% endif -%}
alias cat=bat
# Add some emoji aliases
alias 🦇=bat
alias 🐈=cat
alias 🚆=sl
alias 🚂=sl
alias 🚅=sl
alias 💿=cd
{% if ansible_os_family == "Archlinux" -%}
{# Personal computer #}
alias 🐿️="cd /home/ynerant/PycharmProjects/SquirrelBattle && venv/bin/python main.py"
{% endif -%}

View File

@ -1,59 +0,0 @@
{{ ansible_header | comment }}
[ -z "$PS1" ] && return
HISTCONTROL=ignoredups:ignorespace
HISTFILE=/dev/null
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe.sh ] && eval "$(SHELL=/bin/sh lesspipe.sh)"
PROMPT_COMMAND=__prompt
__prompt() {
retline=$?
gitline=$(git branch 2> /dev/null | grep '^*' | awk '{print $2}')
# COLORS
RED='\[\e[01;31m\]'
GREEN='\[\e[01;32m\]'
ORANGE='\[\e[01;33m\]'
BLUE='\[\e[01;34m\]'
NC='\[\e[0m\]'
PS1=""
PS1+="$GREEN\u@\h$NC" # user@host
PS1+=" $BLUE\W$NC" # pwd
[ -z $gitline ] || PS1+=" $ORANGE$gitline$NC"
PS1="[ $PS1 ]"
[ $retline -ne 0 ] && PS1+=" $RED$retline$NC "
PS1+="\$ "
return $ret
}
if [ -f ~/.config/bash/bash_aliases ]; then
. ~/.config/bash/bash_aliases
fi
rm -rf {{ cliutils.bash.bogus_dirs | join(" ") }}
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
export XDG_CONFIG_HOME=~/.config/
grep -q '/\.local/bin'<<<$PATH || export PATH=$PATH:~/.local/bin/
## REMOVING LESSHST
LESSHISTFILE=/dev/null
export EDITOR='vim'
export PASSWORD_STORE_ENABLE_EXTENSIONS=true

View File

@ -1,15 +0,0 @@
{{ ansible_header | comment }}
[user]
email = {{ cliutils.git.email }}
name = {{ cliutils.git.name }}
signingkey = {{ cliutils.git.signingkey }}
[commit]
gpgsign = true
[core]
autocrlf = input
editor = vim
[format]
signoff = true
[pull]
ff = only

View File

@ -1,3 +0,0 @@
{{ ansible_header | comment }}
set mark-symlinked-directories on

View File

@ -1,34 +0,0 @@
{{ ansible_header | comment }}
unbind r
bind r source-file ~/.tmux.conf
set -g mouse on
## set the default TERM
set -g default-terminal screen
## update the TERM variable of terminal emulator when creating a new session or attaching a existing session
set -g update-environment 'DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY TERM'
## determine if we should enable 256-colour support
if "[[ ${TERM} =~ 256color || ${TERM} == fbterm ]]" 'set -g default-terminal screen-256color'
# use the vim motion keys to move between panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
setw -g mode-keys vi
bind < resize-pane -L 10
bind > resize-pane -R 10
bind - resize-pane -D 10
bind + resize-pane -U 10
bind-key -T copy-mode-vi 'v' send -X begin-selection;
bind-key -T copy-mode-vi 'V' send -X select-line;
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle;
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
set -g base-index 1
set -g status-bg colour41

View File

@ -1,51 +0,0 @@
---
- name: Queries package manager for communication installation
package:
name:
- discord
- element-desktop
- evolution
- gnome-keyring
- gnome-themes-extra
- lxappearance
- seahorse
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create lxappearance directory hierarchy
file:
path: '{{ item }}'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0700
with_items:
- '.config/gtk-3.0/'
- '.icons/default/'
become_user: '{{ user.name }}'
- name: Enable dark mode for evolution
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
with_items:
- { src: 'gtkrc.j2', dest: '.gtkrc-2.0' }
- { src: 'settings.ini.j2', dest: '.config/gtk-3.0/settings.ini' }
- { src: 'index.theme.j2', dest: '.icons/default/index.theme'}
become_user: '{{ user.name }}'
- name: Create evolution config and cache parent directories
file:
path: '{{ item }}'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0700
with_items:
- '.config/'
- '.local/share/'
become_user: '{{ user.name }}'

View File

@ -1,20 +0,0 @@
{{ ansible_header | comment }}
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/ynerant/.gtkrc-2.0.mine"
gtk-theme-name="Adwaita-dark"
gtk-icon-theme-name="Adwaita"
gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_TEXT
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=0
gtk-xft-hintstyle="hintnone"
gtk-xft-rgba="none"

View File

@ -1,6 +0,0 @@
{{ ansible_header | comment }}
[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=Adwaita

View File

@ -1,17 +0,0 @@
{{ ansible_header | comment }}
[Settings]
gtk-theme-name=Adwaita
gtk-icon-theme-name=Adwaita
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_TEXT
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=0
gtk-xft-hintstyle=hintnone
gtk-xft-rgba=none

View File

@ -1,35 +0,0 @@
---
- name: Queries package manager for graphical instalation
package:
name:
- i3-wm
- i3blocks
- i3status
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create i3 configuration folder hierarchy
file:
path: '.config/{{ item }}'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
with_items:
- i3/
- i3status/
become_user: '{{ user.name }}'
- name: Copy i3 configuration files
template:
src: '{{ item }}.j2'
dest: '.config/{{ item }}/config'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
with_items:
- i3
- i3status
become_user: '{{ user.name }}'

View File

@ -1,241 +0,0 @@
{{ ansible_header | comment }}
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
exec /home/ynerant/.fehbg
exec dunst
exec nm-applet
exec battery
exec mpd
exec mpd_reader
{% if laptop.numpad %}
exec numlockx
{% endif %}
set $mod Mod4
set $refresh killall -SIGUSR1 i3status
floating_modifier $mod
# 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
# Center window title and remove edges from windows
title_align center
hide_edge_borders both
# Bindings for volume and light
bindsym XF86MonBrightnessDown exec light -U 1
bindsym XF86MonBrightnessUp exec light -A 1
bindsym XF86AudioRaiseVolume exec volume -A 5 && $refresh
bindsym XF86AudioLowerVolume exec volume -U 5 && $refresh
bindsym Shift+XF86MonBrightnessDown exec light -U 1
bindsym Shift+XF86MonBrightnessUp exec light -A 1
bindsym Shift+XF86AudioRaiseVolume exec volume -A 1 && $refresh
bindsym Shift+XF86AudioLowerVolume exec volume -U 1 && $refresh
bindsym XF86AudioMute exec volume -T && $refresh
bindsym XF86AudioMicMute exec volume -M && $refresh
{% if not laptop.numpad %}
# Binding for mpd
bindsym KP_Add exec mpc next && $refresh
bindsym KP_Subtract exec mpc prev && $refresh
bindsym KP_Multiply exec mpc toggle && $refresh
bindsym $mod+F3 exec mpc volume +5
bindsym $mod+F2 exec mpc volume -5
{% endif %}
# Binding to toggle mouse tapping
bindsym XF86TouchpadToggle exec mouse_tap toggle
# start a terminal
bindsym $mod+Return exec xfce4-terminal -x tmux
bindsym $mod+Shift+Return exec xfce4-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run -l 1 -p '[ ynerant@morgoth ~ ]'
bindsym XF86Search exec dmenu_run -l 1
# Launch passmenu
bindsym $mod+t exec passmenu
# Screenshots
bindsym --release Print exec screenshot
bindsym --release Control+Print exec screenshot -c
bindsym --release Shift+Print exec screenshot -s
bindsym --release Control+Shift+Print exec screenshot -s -c
# Binding to lock screen
bindsym $mod+Escape exec physlock
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+h focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+l focus right
# Move through output
bindsym $mod+j focus output down
bindsym $mod+k focus output up
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+h move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+Shift+l move right
# Move workspace between output
bindsym $mod+Shift+j move workspace to output down
bindsym $mod+Shift+k move workspace to output up
# split in horizontal orientation
bindsym $mod+s 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+w layout tabbed
bindsym $mod+e layout toggle split
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+y 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 $ws0 "0"
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"
# Screen workspace
workspace $ws0 output eDP-1
workspace $ws1 output eDP-1
workspace $ws2 output eDP-1
workspace $ws3 output eDP-1
workspace $ws4 output eDP-1
workspace $ws5 output eDP-1
workspace $ws6 output eDP-1
workspace $ws7 output eDP-1
workspace $ws8 output eDP-1
workspace $ws9 output eDP-1
workspace $ws10 output eDP-1
# switch to workspace
bindsym $mod+0xb2 workspace $ws0
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+0xb2 move container to workspace $ws0
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# Leave fullscreen on new window
popup_during_fullscreen leave_fullscreen
# Cycle through workspace
bindsym $mod+Tab workspace next_on_output
bindsym $mod+Shift+Tab workspace prev_on_output
# Dont focus discord (for thunderbird passwd)
no_focus [class="(?i)discord"]
# 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-msg exit"
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym Left resize shrink width 1 px or 1 ppt
bindsym Down resize grow height 1 px or 1 ppt
bindsym Up resize shrink height 1 px or 1 ppt
bindsym Right resize grow width 1 px or 1 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"
# Window thickness
new_window 1pixel
# Toogle bar-1 visibility
bindsym $mod+x bar mode invisible bar-1
bindsym $mod+Shift+x bar mode toggle bar-1
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
output eDP-1
tray_output eDP-1
mode hide
status_command i3status
strip_workspace_numbers yes
}
bar {
output HDMI-2
mode hide
status_command i3status
strip_workspace_numbers yes
}
{% if laptop.touchscreen %}
exec xinput --set-prop 14 "libinput Natural Scrolling Enabled" 1
{% endif %}

View File

@ -1,63 +0,0 @@
{{ ansible_header | comment }}
# 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 {
output_format="i3bar"
colors = true
interval = 1
}
# order += "ipv6"
order += "read_file mpd"
order += "volume master"
order+= "ipv6"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "tztime local"
ipv6 {
format_up = "IPV6: %ip"
format_down = ""
}
wireless _first_ {
format_up = "W:%essid, %ip"
format_down = ""
}
ethernet _first_ {
format_up = "E: %ip, %speed"
format_down = ""
}
battery all {
format = "%status %percentage %remaining"
last_full_capacity = true
color_good="#00FFFF"
color_bad="#00FFFF"
}
tztime local {
format = "%d-%m %H:%M:%S"
}
volume master {
format = "♪: %volume"
format_muted = "♪: muted (%volume)"
device = "pulse"
}
read_file mpd {
path = "/tmp/mpd.current"
color_good = "#00FF99"
format_bad = ""
}

View File

@ -1,27 +0,0 @@
---
- name: Queries package manager to install xdg
package:
name: xdg-utils
register: pkg_result
retries: 3
until: pkg_result is succeeded
become: yes
- name: Create default applications config folder
file:
path: '.config/'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0700
become_user: '{{ user.name }}'
- name: Install default applications configuration file
template:
src: 'mimeapps.list.j2'
dest: '.config/mimeapps.list'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
become_user: '{{ user.name }}'

View File

@ -1,17 +0,0 @@
{{ ansible_header | comment }}
[Default Applications]
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/ftp=firefox.desktop
x-scheme-handler/about=firefox.desktop
x-scheme-handler/unknown=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
application/pdf=org.pwmt.zathura.desktop

View File

@ -1,38 +0,0 @@
---
- name: Queries package manager for multimedia installation
package:
name:
- feh
- mpv
- obs-studio
- vlc
- zathura
- zathura-pdf-poppler
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create multimedia folder hierarchy
file:
path: '.config/{{ item }}'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0700
with_items :
- 'mpv/'
- 'zathura/'
become_user: '{{ user.name }}'
- name: Copy multimedia configuration files
template:
src: '{{ item.src }}'
dest: '.config/{{ item.dest }}'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
with_items:
- { src: 'zathurarc.j2', dest: 'zathura/zathurarc' }
- { src: 'mpv.conf.j2', dest: 'mpv/mpv.conf' }
become_user: '{{ user.name }}'

View File

@ -1,30 +0,0 @@
{{ ansible_header | comment }}
##################
# video settings #
##################
# force starting with centered window
geometry=50%:50%
# no window title bar
no-border
##################
# audio settings #
##################
# Specify pulse audio as audio output
ao=pulse
##################
# other settings #
##################
# Display English subtitles if available.
slang=fr,en
# Play Finnish audio if available, fall back to English otherwise.
alang=fr,en
force-window=yes

View File

@ -1,3 +0,0 @@
{{ ansible_header | comment }}
set selection-clipboard clipboard

View File

@ -1,30 +0,0 @@
---
- name: Queries package manager for notification installation
package:
name:
- dunst
- gnome-icon-theme
- gnome-icon-theme-extras
- gnome-icon-theme-symbolic
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create dunst config directory
file:
path: '.config/dunst/'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
become_user: '{{ user.name }}'
- name: Copy dunst configuration file
template:
src: 'dunstrc.j2'
dest: '.config/dunst/dunstrc'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
become_user: '{{ user.name }}'

View File

@ -1,294 +0,0 @@
{{ ansible_header | comment }}
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# 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 = 0
# 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 = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#aaaaaa"
# 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 = frame
# 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.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = Monospace 9
# 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 = "<b>%s</b>\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 make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked 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 = 32
# Paths to default icons.
icon_path = /usr/share/icons/gnome/32x32/status/:/usr/share/icons/gnome/32x32/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 = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/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 = false
# Manage dunst's desire for talking
# Can be one of the following values:
# crit: Critical features. Dunst aborts
# warn: Only non-fatal warnings
# mesg: Important Messages
# info: all unimportant stuff
# debug: all less than unimportant stuff
verbosity = mesg
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
### 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
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = close_current
mouse_middle_click = do_action
mouse_right_click = close_all
# 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+space
# Close all notifications.
close_all = ctrl+shift+space
# 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 = "#222222"
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#0091FF"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon

View File

@ -1,7 +0,0 @@
---
- name: restart ntpd.service
service:
name: ntpd
state: restarted
become: true

View File

@ -1,23 +0,0 @@
---
- name: Queries package manager for ntp installation
package:
name: ntp
register: pkg_result
retries: 3
until: pkg_result is succeeded
notify: restart ntpd.service
- name: Deploy ntp configuration
template:
src: 'ntp.conf.j2'
dest: '/etc/ntp.conf'
owner: root
group: root
mode: 0644
notify: restart ntpd.service
- name: Enable ntp service
service:
name: ntpd
enabled: yes

View File

@ -1,27 +0,0 @@
{{ ansible_header | comment }}
# Please consider joining the pool:
#
# http://www.pool.ntp.org/join.html
#
# For additional information see:
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - the ntp.conf man page
# Associate to Arch's NTP pool
server charybde.crans.org
server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org
# By default, the server allows:
# - all queries from the local host
# - only time queries from remote hosts, protected by rate limiting and kod
restrict default kod limited nomodify nopeer noquery notrap
restrict 127.0.0.1
restrict ::1
# Location of drift file
driftfile /var/lib/ntp/ntp.drift

View File

@ -1,28 +0,0 @@
---
- name: Ensure pacman is installed
package:
name:
- pacman
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Use Crans mirror
template:
src: pacman.d/mirrorlist.j2
dest: /etc/pacman.d/mirrorlist
owner: root
group: root
mode: 0644
- name: Enable colors and sugar
lineinfile:
regex: "{{ item }}"
line: "{{ item }}"
insertafter: "[options]"
path: /etc/pacman.conf
loop:
- Color
- TotalDownload
- CheckSpace
- ILoveCandy

View File

@ -1,4 +0,0 @@
{{ ansible_header | comment }}
Server = https://ftps.crans.org/archlinux/$repo/os/$arch
Server = http://mirror.crans.org/archlinux/$repo/os/$arch

View File

@ -1,18 +0,0 @@
---
- name: Queries package manager to install pass
package:
name:
- jq
- git
- pass
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Clone git pass repository
git:
repo: '{{ pass.upstream }}'
dest: '{{ pass.dest }}'
umask: '0066'
become_user: '{{ user.name }}'

View File

@ -1,35 +0,0 @@
---
- name: Queries package manager for graphical instalation
package:
name:
- scrot
- network-manager-applet
- acpi
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Clone scripts git repo
git:
repo: '{{ scripts.git }}'
dest: '.local/src/scripts'
owner: '{{ user.name }}'
group: '{{ user.name }}'
umask: 0022
become_user: '{{ user.name }}'
- name: Find scripts
find:
path: '.local/src/scripts'
pattern: "*"
register: scripts
become_user: user.name
- name: Link scripts
file:
src: '/home/{{ user.name }}/{{ item.path }}'
dest: '.local/bin/{{ item.path | basename }}'
state: link
force: yes
with_items: '{{ scripts.files }}'
become_user: '{{ user.name }}'

View File

@ -1,25 +0,0 @@
---
- name: Deploy logind configuration
template:
src: 'logind.conf.j2'
dest: '/etc/systemd/logind.conf'
owner: root
group: root
mode: 0644
- name: Create autologin directory on tty1
file:
path: '/etc/systemd/system/getty@tty1.service.d'
state: directory
owner: root
group: root
mode: 0755
- name: Copy autologin template file
template:
src: 'override.conf.j2'
dest: '/etc/systemd/system/getty@tty1.service.d/override.conf'
owner: root
group: root
mode: 0644

View File

@ -1,39 +0,0 @@
{{ ansible_header | comment }}
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
HandlePowerKey=ignore
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192

View File

@ -1,5 +0,0 @@
{{ ansible_header | comment }}
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin {{ user.name }} --noclear %I $TERM

View File

@ -1,27 +0,0 @@
---
- name: Queries package manager for terminal installation
package:
name:
- xfce4-terminal
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Create xfce4 terminal config directory
file:
path: '.config/xfce4/terminal/'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0700
become_user: '{{ user.name }}'
- name: Copy xfce4-terminal configuration file
template:
src: 'terminalrc.j2'
dest: '.config/xfce4/terminal/terminalrc'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
become_user: '{{ user.name }}'

View File

@ -1,37 +0,0 @@
{{ ansible_header | comment }}
[Configuration]
MiscAlwaysShowTabs=FALSE
MiscBell=TRUE
MiscBellUrgent=TRUE
MiscBordersDefault=FALSE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=90x24
MiscInheritGeometry=FALSE
MiscMenubarDefault=FALSE
MiscMouseAutohide=TRUE
MiscMouseWheelZoom=TRUE
MiscToolbarDefault=FALSE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
MiscMiddleClickOpensUri=FALSE
MiscCopyOnSelect=TRUE
MiscShowRelaunchDialog=TRUE
MiscRewrapOnResize=TRUE
MiscUseShiftArrowsToScroll=FALSE
MiscSlimTabs=TRUE
MiscNewTabAdjacent=FALSE
MiscSearchDialogOpacity=100
MiscShowUnsafePasteDialog=FALSE
TitleMode=TERMINAL_TITLE_HIDE
ScrollingBar=TERMINAL_SCROLLBAR_NONE
FontName=Monospace 12
ShortcutsNoMnemonics=TRUE
ShortcutsNoHelpkey=TRUE
ScrollingOnOutput=FALSE

View File

@ -1,8 +0,0 @@
---
- name: Queries package manager for texlive most
package:
name: texlive-most
register: pkg_result
retries: 3
until: pkg_result is succeeded

View File

@ -1,18 +0,0 @@
---
- name: Queries package manager for vim installation
package:
name:
- vim
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Deploying config files
template:
src: 'vimrc.j2'
dest: '.vimrc'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
become_user: '{{ user.name }}'

View File

@ -1,46 +0,0 @@
{{ ansible_header | comment(decoration='"') }}
if has('autocmd')
filetype plugin indent on
endif
if has('syntax') && !exists('g:syntax_on')
syntax enable
endif
set viminfo=
set autoindent
set backspace=indent,eol,start
set complete-=i
set smarttab
set tabstop=2
set shiftwidth=2
set expandtab
set laststatus=2
set ruler
set showcmd
set wildmenu
set incsearch
set encoding=utf-8
if &listchars ==# 'eol:$'
set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
endif
set formatoptions+=j
set autoread
if &tabpagemax < 50
set tabpagemax=50
endif
set whichwrap+=<,>,h,l,[,]
colorscheme elflord
highlight ExtraWhitespace ctermbg=lightgreen guibg=lightgreen
match ExtraWhitespace /\s\+$/

View File

@ -1,93 +0,0 @@
---
- name: Queries package manager for graphical instalation
package:
name:
- autorandr
- font-bh-ttf
- gsfonts
- light
- noto-fonts-emoji
- physlock
- sdl_ttf
- ttf-bitstream-vera
- ttf-dejavu
- ttf-liberation
- xorg-fonts-type1
- xorg-xinit
- xorg-xinput
- xorg-server
- xss-lock
register: pkg_result
retries: 3
until: pkg_result is succeeded
- name: Queries package manager for graphical instalation specific to abyme installation
package:
name:
- nvidia
register: pkg_result
retries: 3
until: pkg_result is succeeded
when: laptop.gpu
- name: Queries package manager for graphical instalation specific to abyme installation
package:
name:
- numlockx
register: pkg_result
retries: 3
until: pkg_result is succeeded
when: laptop.numpad
- name: Copy user configuration files
template:
src: 'xinitrc.j2'
dest: '.xinitrc'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0644
become_user: '{{ user.name }}'
- name: Copy touchpad configuration
template:
src: '30-touchpad.conf.j2'
dest: '/etc/X11/xorg.conf.d/30-touchpad.conf'
owner: root
group: root
mode: 0644
- name: Change backlight property # doing some shifty things
file:
path: '/sys/class/backlight/intel_backlight/brightness'
owner: root
group: video
mode: '0664'
- name: Gives user the good group
user:
name: '{{ user.name }}'
groups: video
append: yes
- name: Create autorandr configuration folder
file:
path: '~/.config/autorandr'
state: directory
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
become_user: '{{ user.name }}'
- name: Install autorandr postswitch configuration file
template:
src: 'postswitch.j2'
dest: '~/.config/autorandr/postswitch'
owner: '{{ user.name }}'
group: '{{ user.name }}'
mode: 0755
become_user: '{{ user.name }}'
- name: Enable autorandr service
service:
name: autorandr
enabled: yes

View File

@ -1,8 +0,0 @@
{{ ansible_header | comment }}
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
EndSection

View File

@ -1,5 +0,0 @@
#!/bin/bash
{{ ansible_header | comment }}
~/.fehbg

View File

@ -1,14 +0,0 @@
{{ ansible_header | comment }}
eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
dbus-update-activation-environment --systemd DISPLAY
setxkbmap fr oss
xss-lock -- physlock -d &
autorandr --change
{% if laptop.gpu %}
exec prime-run i3
{% else %}
exec i3
{% endif %}