Dotfiles managed by ansible, chezmoi, gnupg/pass to store secrets and reaver.
Only works on some Linux distro including:
Archlinux
Debian 11
, ... frozen from now, i don't recommend install my dotfiles on it for now, need motivation and time here...Gentoo
, tested with systemd, musl (openrc) and/or binaries.Void Linux
, tested on a clean install of the rootfs-glibc and rootfs-musl.
Why i use chezmoi?
- Even with GNU/Stow, i have to modify a lot of files each time i install/reinstall a new system, i start hating this !
- Template are great.
- Possibility of encrypt files.
- Install and updates are easy.
Holy (Wayland) | Focus (Xorg) |
---|---|
WTF | Name | Notes |
---|---|---|
Audio Driver | Alsa or Pulseaudio | Can be change in the config file |
Window Manager | Swayfx or Awesome (with picom) | Wayland or Xorg |
Web browser | brave or librewolf | |
Image Viewer | imv or feh | Depend of Wayland or Xorg |
Lock Screen | betterlockscreen | Not yet for Wayland |
Display Manager | sddm, lightdm, lxdm or nothing | |
Music Daemon | mpd with playerctl | with ncmpcpp, mpc |
Video Player | mpv | |
Email reader | neomutt | with isync, customized from sheoak |
Taking note | notesnook | Write notes (offline), encrypted, sync on all your devices. |
Screen capture | grim or maim | Wayland or Xorg |
News Reader | raven | Collect news, read them offline. |
Terminal multiplexer | tmux | with catppucin, mode indicator |
File Manager | NNN and Thunar or Nemo | Thunar (if choose Alsa) or Nemo (Pulseaudio). Dropped vifm sdushantha |
Code Editor | Neovim or doomemacs | Wayland or Xorg, doom don't work on wayland unless you install Xwayland |
IRC client | Weechat will be dropped soon, Prefer Signal or better Session, not IRC | |
Terminal | Wezterm or xSt | Wayland or Xorg again |
zathura | PDF/Epub viewer | |
Shell | ZSH | With ohmyzsh, starship, autosuggestion, and more... |
If need a new user (new system), create one:
useradd -m -s /bin/bash custom-username
passwd custom-username
Next, you need to install and configure sudo
or doas
, we need permission to install packages:
# EDITOR=vi visudo
custom-username ALL=(ALL) ALL
You need to install chezmoi
and git
.
With Gentoo
:
# emerge -av dev-vcs/git
$ curl -fsLS get.chezmoi.io | sh
With Arch
:
# pacman -S chezmoi git vi
With Debian
:
# apt-get install curl git
$ curl -fsLS get.chezmoi.io | sh
For Voidlinux
:
# xbps-install -S chezmoi git
Only 4 little steps here
Target the ansible branch.
$ chezmoi init https://github.com/szorfein/dots.git --branch=ansible
Edit the config file with your favorite text editor.
$ EDITOR=vi chezmoi edit-config
You can change for example in [data]
:
[data]
sound = "pulseaudio"
web = "librewolf"
You can also configure whitch GPU driver should be installed with keyword. Only intel_gen7
, intel
or nouveau
are supported for now, see option dotfiles_gpu_driver, also The SwayFX project does not officially support proprietary NVIDIA drivers.
[data]
gpu = "intel"
machine-to-machine, only few lines to configure your environment:
var | SwayFX on wayland | Awesome on Xorg |
---|---|---|
editor | neovim | doom |
gpu | intel | nouveau |
secrets | true | false |
sound | alsa | pulseaudio |
sound_card | hw:PCH | 0 |
web | brave | librewolf |
dm | sddm | lightdm |
wm | swayfx | awm-m3 |
apply
will install all files in your $HOME and execute ansible playbook.
$ chezmoi apply
If /tmp is protected with noexec
, you need to tell chezmoi
to use another dir
#1929
$ mkdir $HOME/tmp
$ TMPDIR="$HOME/tmp" chezmoi apply
From time to time, start the update simply with:
$ chezmoi diff
$ chezmoi update
After the first install, if you need-want to use doomemac, you have to finish the installation with a single command:
$ doom sync
$ emacs
You can run manually extra playbooks present in repo as all is alrealy configured.
$ cd ~/ansible
Current playbooks with command to run:
- ssh hardening:
ansible-playbook -i hosts --ask-become-pass ssh.yml
- os hardening:
ansible-playbook -i hosts --ask-become-pass os-hardened.yml
- privacy enhancement:
ansible-playbook -i hosts --ask-become-pass privacy.yml
For any questions, comments, feedback or issues, submit a new issue.
If an error occurs while running a ansible playbook, please post an issue here.
Any support are greatly appreciated, star the repo, a coffee... thanks you!